telnet vs FTP vs SSH

k.·2020년 11월 4일
0

텔넷(telnet)

  • 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜
  • 보안 문제 때문에 사용률이 감소하여, 원격 제어를 위해 SSH로 대체되기도 함
  • 대표 클라이언트 : PuTTY

FTP(파일 전송 프로토콜)

  • TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 위한 프로토콜
  • 보안이 취약해 실무에서는 잘 사용하지 않음
  • 대표 클라이언트 : 파일질라
  • 파생 >> FTPS, SFTP(SSH의 파일 전송 버전)
  • SFTP는 SSH방식을 이용하여 안전하게 암호화된 구간에서 FTP 기능 이용 가능

SSH(Secure SHell)

(이미지 출처: https://opentutorials.org/module/432/3738)

  • 원격지에 있는 컴퓨터를 안전하게 제어하기 위한 프로토콜
  • SSH 클라이언트와 SSH 서버의 관계로 상호작용하면서 SSH 서버가 설치된 운영체제를 제어
  • SSH 클라이언트를 설치해야 윈도우에서 Unix 계열의 운영체제 제어 가능
  • 암호화 기법을 사용하기 때문에, 통신이 노출된다고 하더라도 이해할 수 없는 암호화된 문자로 보임
  • 텔넷의 보안 버전
  • 기본 포트 : 22
  • 대표 클라이언트 : PuTTY, Xshell

주요기능

  • 강력한 인증 방법 및 안전하지 못한 네트워크에서 안전하게 통신
  • 보안 접속을 통한 rsh, rcp, rlogin, rexec, telnet, ftp 등을 제공
  • IP spoofing(IP 위/변조 기법 중 하나)을 방지

대표적인 사용 예

  • 데이터 전송 : 소스 코드를 원격 저장소인 깃헙에 푸쉬할 때 SSH를 활용해 파일을 전송
  • 원격 제어 : AWS의 인스턴스 서버에 접속하여 해당 머신에 명령을 내리기 위해 SSH를 통한 접속

SSH Key

  • 서버에 접속 할 때 비밀번호 대신 Key를 제출하는 방식
  • 공개키(public key)와 비공개 키(private key)로 이루어짐
  • 비공개키는 로컬 머신에 위치해야 하고, 공개키는 리모트 머신에 위치해야 함(로컬 머신은 SSH Client, 원격 머신은 SSH Server가 설치된 컴퓨터를 의미)

언제 사용?

  • 비밀번호 보다 높은 수준의 보안을 필요로 할 때
  • 로그인 없이 자동으로 서버에 접속 할 때



🧐 참고

0개의 댓글