Tenma

[Theory] SSH 와 Telnet 본문

Communication/Theory

[Theory] SSH 와 Telnet

Tenma2 2025. 7. 20. 18:38

 

SSH와 Telnet에 대해 알아보도록 하겠습니다.

 

우선 간단히 정리한 내용을 읽어보면서 시작하겠습니다.

 

 

🔐 1. SSH (Secure Shell)

  • 목적: 보안이 없는 네트워크 환경에서 안전하게 원격 로그인 및 명령 실행을 가능하게 하는 프로토콜
  • 암호화: 자체적으로 암호화를 지원 (비대칭키 기반 인증 + 대칭키 기반 세션 암호화)
  • 기본 포트: 22번
  • 사용 예시: 원격 서버 관리, 보안 파일 전송(SCP, SFTP 등)
  • SSL/TLS와의 관계: 별개의 보안 프로토콜로 SSL/TLS를 사용하지 않음

📡 2. Telnet

  • 목적: 원격 로그인 및 명령 실행을 위한 프로토콜 (SSH와 유사한 목적)
  • 암호화: 없음, 모든 데이터가 평문(Plaintext)으로 전송됨
  • 기본 포트: 23번
  • 사용 예시: 구형 장비나 내부 테스트 환경에서 사용
  • 보안 이슈: 패킷 스니핑, 중간자 공격(MITM)에 취약
  • 비교: SSH 등장 이후 거의 사용되지 않음

 

1. SSH (Secure Shell)

- 정의

: 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용 프로그램 또는 그 프로토콜을 가리킨다.

 

 1) 22번 포트 (default)

 2) Sender - Receiver 간 주고받는 데이터 자체 암호화 (Key 없이는 정보를 알 수 없다.)

 3) SSH Clients : 원격 시스템(SSH Server)에 접속 및 명령을 내리도록 하는 주체

 4) SSH Server : SSH Client로부터 SSH 프로토콜을 통해 받은 명령을 수행하는 주체 (원격지 서버, 컴퓨터)

 

 

 

- 통신 과정

출처:https://co-no.tistory.com/entry/%ED%86%B5%EC%8B%A0-SSH%EC%9D%98-%EA%B0%9C%EB%85%90-%ED%86%B5%EC%8B%A0-%EA%B3%BC%EC%A0%95feat-OpenSSH

 

1. Session Authentication

: Puplic Key(공개키)와 Private Key(개인키)로 이루어진 비대칭키 암호화 방식을 이용해 Client와 Server는 서로가 올바른 노드인지 인증하는 절차를 거친다.

 

2. User Authentication

: SSH Client와 SSH Server 간 connection이 열리면 접속을 시도하는 User가 접속 권한이 있는지 확인 절차 필요

 

 2-1) Password 인증

 : 사용자가 입력하는 방식으로 인증

 : 보안상 권장하지는 않는다.

 

 2-2) Key-Pair 인증

 : SSH Client에서 Public key, Private Key를 생성하고, 이를 SSH Server에 접속할 때 Public Key를 제출하여 인증되는 방식

 

 

2. Telnet

출처 : https://jibinary.tistory.com/127

 

- 정의

: 네트워크 상에서 다른 컴퓨터에 원격 로그인하거나 원격으로 명령을 실행하기 위한 프로토콜

: 보안상 취약

 

 

이렇게 SSH 와 Telnet에 대해 알아봤는데요

 

스니핑, 중간 공격자에 대한 보안이슈로 Telnet은 보안에 취약하고

키를 이용한 SSH가 비교적 보안에 강력합니다!

 

처음 보게 되면 굉장히 복잡해 보일 수 있는 과정인 거 같습니다.

하지만 결국 서버, 클라이언트 관점에서 서로를 확인할 수 있는 수단이 키이고

서로가 보낸 데이터가 신뢰할만 한지 확인한다는 관점에서 보면 이해하기가 훨씬 수월한 것 같아요!