텔넷(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가 설치된 컴퓨터를 의미)
언제 사용?
- 비밀번호 보다 높은 수준의 보안을 필요로 할 때
- 로그인 없이 자동으로 서버에 접속 할 때
🧐 참고