TELNET, SSH, FTP, SFTP 프로토콜 비교

Duckhee·2025년 12월 28일

네트워크

목록 보기
1/1
post-thumbnail

[네트워크] TELNET, SSH, FTP, SFTP 프로토콜 비교

서버 관리나 파일 전송 작업을 하다 보면 TELNET, SSH, FTP, SFTP 같은 프로토콜을 자주 접하게 된다.
비슷해 보이지만 보안 측면에서 큰 차이가 있어서 정리해봤다.
요즘은 보안 때문에 SSH와 SFTP만 쓰지만, 왜 그런지 이해하는 게 중요하다.


1. TELNET (Teletype Network)

기본 정보

  • 목적: 원격 시스템 접속
  • 전송 방식: TCP 기반
  • 포트: 23
  • 보안: ❌ 암호화 없음 (평문 통신)

특징

# TELNET 접속 예시
telnet 192.168.0.1 23

문제점:

  • 사용자 입력이 그대로 전송됨
  • 계정 정보(ID/PW)가 평문으로 노출
  • 네트워크 패킷 캡처(Wireshark 등) 시 모든 정보 열람 가능

⚠️ 보안 취약점으로 인해 현재는 거의 사용되지 않는다.
레거시 시스템이나 테스트 환경에서만 제한적으로 사용된다.


2. SSH (Secure Shell)

기본 정보

  • 목적: 원격 시스템 접속
  • 전송 방식: TCP 기반
  • 포트: 22
  • 보안: ✅ 강력한 암호화 지원

특징

# SSH 접속 예시
ssh user@192.168.0.1

# 공개키 인증 방식
ssh -i ~/.ssh/id_rsa user@192.168.0.1

장점:

  • 대칭키/비대칭키 암호화 사용
  • 패스워드 인증 + 공개키 인증 지원
  • 모든 통신 내용 암호화
  • TELNET을 완전히 대체

인증 방식

1. 패스워드 인증

  • 가장 기본적인 방식
  • 비밀번호만 알면 접속 가능

2. 공개키 인증 (권장)

  • 공개키/개인키 쌍 생성
  • 서버에 공개키 등록
  • 개인키로 인증
  • 비밀번호 없이도 안전하게 접속
# SSH 키 생성
ssh-keygen -t rsa -b 4096

# 공개키를 서버에 복사
ssh-copy-id user@server

리눅스 및 유닉스 서버 관리의 표준 프로토콜이다.
AWS EC2, GCP 등 클라우드 서버 접속도 모두 SSH를 사용한다.


3. FTP (File Transfer Protocol)

기본 정보

  • 목적: 파일 전송
  • 전송 방식: TCP 기반
  • 포트: 21 (제어 채널), 20 (데이터 채널)
  • 보안: ❌ 암호화 없음 (평문 통신)

특징

제어 채널과 데이터 채널 분리:

  • 포트 21: 명령어 전송 (제어)
  • 포트 20: 실제 파일 전송 (데이터)

동작 모드

1. Active Mode (능동 모드)

  • 서버가 클라이언트로 연결
  • 방화벽 설정이 복잡함

2. Passive Mode (수동 모드)

  • 클라이언트가 서버로 연결
  • 방화벽 환경에서 더 안전
# FTP 접속 예시
ftp ftp.example.com

# 파일 다운로드
get filename.txt

# 파일 업로드
put filename.txt

문제점:

  • 계정 정보가 평문으로 전송
  • 파일 내용도 암호화 없이 전송
  • 패킷 스니핑으로 쉽게 정보 탈취 가능

보안 요구사항이 낮은 공개 파일 배포 등에서만 제한적으로 사용된다.
중요한 파일은 절대 FTP로 전송하면 안 된다.


4. SFTP (SSH File Transfer Protocol)

기본 정보

  • 목적: 파일 전송
  • 전송 방식: SSH 기반 TCP
  • 포트: 22
  • 보안: ✅ SSH 암호화 사용

특징

# SFTP 접속 예시
sftp user@192.168.0.1

# 파일 다운로드
get remote_file.txt

# 파일 업로드
put local_file.txt

# 디렉토리 생성
mkdir new_directory

장점:

  • FTP와 달리 단일 채널 사용 (포트 22만)
  • 방화벽 설정이 간단
  • SSH 인증 방식 그대로 사용
  • 파일 전송 + 파일 관리 기능 제공

FTP vs SFTP 차이:

구분FTPSFTP
채널제어/데이터 분리단일 채널
포트21, 2022
암호화없음SSH 암호화
방화벽복잡간단

보안이 필요한 모든 파일 전송 환경에서 표준적으로 사용된다.
FileZilla 같은 FTP 클라이언트도 SFTP를 지원한다.


비교 요약

프로토콜별 특징

구분주요 기능기본 포트암호화현재 사용
TELNET원격 접속23❌ 없음거의 사용 안 함
SSH원격 접속22✅ 있음⭐ 표준
FTP파일 전송21, 20❌ 없음제한적 사용
SFTP파일 전송22✅ 있음⭐ 표준

선택 가이드

원격 접속이 필요할 때:

  • ✅ SSH 사용
  • ❌ TELNET 사용 금지

파일 전송이 필요할 때:

  • ✅ SFTP 사용 (보안 중요)
  • ⚠️ FTP 사용 (공개 파일만, 매우 제한적)

추가내용

1. 보안 강화

# SSH 설정 파일 수정 (/etc/ssh/sshd_config)
PermitRootLogin no              # root 직접 로그인 차단
PasswordAuthentication no       # 패스워드 인증 비활성화 (공개키만)
Port 2222                       # 기본 포트 변경

2. 자주 사용하는 SSH 명령어

# 원격 명령 실행
ssh user@server 'ls -la'

# 로컬 포트 포워딩
ssh -L 8080:localhost:80 user@server

# 파일 복사 (scp)
scp file.txt user@server:/path/

# 디렉토리 복사
scp -r folder/ user@server:/path/

3. SFTP 대안

  • rsync: 대용량 파일 동기화에 효율적
  • SCP: 간단한 파일 복사
# rsync로 파일 동기화
rsync -avz source/ user@server:/destination/

# SCP로 파일 전송
scp -r localdir/ user@server:/remotedir/

마무리

네트워크 프로토콜을 정리하면서 보안의 중요성을 다시 한번 느꼈다.

TELNET과 FTP는 과거의 유물이 되어가고 있고,
요즘은 SSH와 SFTP가 사실상 표준이다.

  • 원격 접속은 무조건 SSH
  • 파일 전송은 무조건 SFTP
  • 레거시 시스템이라도 가능하면 마이그레이션
profile
🌈 I Love DE🌈

0개의 댓글