Skip to content
On this page

SSH (Secure Shell)

수정하기
문서 생성 2021-04-23 20:11:56 최근 수정 2021-09-08 23:24:42

임대한 서버에서 어떤 작업을 하려고할 때마다 원격 서버가 존재하는 IDC까지 직접 이동해서 작업을 하긴 힘들다. 서버를 호스팅 받고 나면 일반적으로 서버 아이피, root 패스워드, 또는 SSH 개인키/공개키가 주어진다. 이 정보를 이용해 원격으로 서버를 제어할 수 있다.

GUI 원격 제어

  • 원격 데스크톱 프로토콜(RDP; Remote Desktop Protocol)을 통해 서버를 GUI로 제어 할 수 있다.
  • RDP는 MS사에서 개발한 프로토콜로, Windows에는 원격 데스크탑 프로그램(서버 및 클라 이언트)이 포함되어 있다.
  • 하지만 Unix 계열 OS는 기본적으로 RDP 프로그램를 포함하지 않는다. 물론 RDP와 유사한 많은 오픈 프로토콜들이 개발되어 Unix 계열 서버를 GUI를 통해 원격 제어하는 것도 불가능하지는 않다.

CLI 원격 제어

  • Unix 계열 OS는 SSH(Secure Shell) 프로토콜을 통해 서버를 CLI로 제어 할 수 있다.
  • SSH는 서버와 클라이언트간의 인증 및 패킷 암호화를 위한 프로토콜 또는 그 프로그램을 일컫으며, 쉽게 는 SSH는 안전한 원격 셸이라고 생각해도 좋다.
  • Unix 계열 OS는 기본적으로 SSH 프로그램(서버 및 클라이언트)을 포함하고 있다.
  • Windows 서버도 PowerShell 이라는 프로토콜을 통해 CLI 원격 제어를 제공할 수 있다.

SSH 서버 및 클라이언트

  • sshd는 기본적으로 22번 포트를 사용
  • 연결시 원격 서버와 인증과정을 거치게 된다.
    • 로그인, 패스워드 기반 인증
  • 인증 성공 시 ssh는 원격 서버에서 CLI 셸을 실행. 종료하려면 exit
  • 서버 sshd 측에서 비대칭키 기반 인증을 요구하는 경우 개인키가 필요하다.
    • 개인키와 쌍을 이루는 공개키가 원격 서버의 user의 특정 파일에 등록되어 있어야 한다.

reference

LINKS TO THIS PAGE