김 컴퓨터


SSH (Secure Shell) 기초

SSH (시큐어 셸)는 네트워크 상의 다른 컴퓨터에 로그인하거나 명령을 실행하고 파일을 복사할 수 있게 해주는 보안 프로토콜입니다.

과거에 사용하던 Telnet은 데이터를 있는 그대로(평문) 전송하여 해킹 위험이 컸지만, SSH는 모든 데이터를 암호화하여 전송하기 때문에 매우 안전합니다.


1. SSH의 핵심: 암호화와 키(Key)

SSH는 강력한 보안을 위해 공개키(Public Key)개인키(Private Key)라는 한 쌍의 키를 사용합니다.

① 키 쌍(Key Pair)의 원리 (자물쇠와 열쇠)

② 접속 과정

  1. 사용자가 서버에 접속을 요청합니다.
  2. 서버는 "이 자물쇠(공개키)를 열 수 있는지 증명해봐"라며 암호화된 문제를 냅니다.
  3. 사용자는 자신이 가진 개인키로 그 문제를 풀어 서버에 제출합니다.
  4. 문제가 풀리면 서버는 사용자를 신뢰하고 접속을 허용합니다.

[Image of SSH Key Pair Authentication Diagram showing Public Key on Server and Private Key on Client]


2. Telnet vs. SSH 비교

특징 Telnet SSH
데이터 전송 평문 (Cleartext) 암호화 (Encrypted)
보안성 낮음 (패킷을 가로채면 비밀번호가 보임) 높음 (패킷을 가로채도 내용을 알 수 없음)
포트 번호 23 22
주요 용도 과거의 유물 (거의 사용 안 함) 서버 관리, 원격 제어, 파일 전송 (SFTP)

3. SSH의 주요 기능

  1. 원격 제어 (Remote Shell): 멀리 떨어진 서버의 터미널(검은 화면)을 내 컴퓨터처럼 조작할 수 있습니다.
  2. 보안 파일 전송 (SFTP): FTP의 보안 버전으로, 파일을 안전하게 업로드/다운로드합니다.
  3. 터널링 (Tunneling): SSH 연결을 통해 다른 프로토콜의 데이터를 안전하게 감싸서 전송할 수 있습니다.