Telnet과 SSH는 네트워크 관리나 서버 접근에 있어서 자주 사용되는 프로토콜이다. 이 글에서는 Rocky Linux에서 텔넷과 SSH에 대해서 정리해보고 두가지 방법을 비교해본다.
Telnet과 SSH는 보안과 기능에서 큰 차이점을 가지고 있기 때문에 어떤 특징이 있는지에 초점을 맞춘다.
1. Telnet
-
Telnet은 네트워크 상에서 원격 시스템에 접속한 후에 명령어를 입력하고 실행하도록 하는 프로토콜이다.
-
가장 큰 특징으로는 평문(암호화되지 않은 문구) 그대로를 통신에 사용한다.
-
보안 측면에서는 매우 취약하다. 단, 보안 메세지가 없어야 하는 목적이 있다면 가볍게 사용할 수 있다. 리소스 사용이 적다.
-
주로 23번 포트를 사용하고 있다.
-
도청 위험을 조심해야 한다.
-
Telnet 설치
dnf install telnet-server -y

- telnet.socket을 실행해서 텔넷 서비스를 찾을 수 있도록 한다. 처음에는 inactive라고 나온다.
systemctl status status.socket

systemctl start status.socket

- Telnet으로 접속한다. 패킷 Data 부분을 보면
평문으로 쓰기 때문에 누가 이거보면 비밀번호 다 알 수 있다.


2. SSH (Secure shell)
- SSH는 네트워크를 통해 안전하게 원격 시스템에 접속할 수 있도록 설계된 프로토콜이다.
- 암호화된 메세지 전송하기 때문에 보안이 중요한 상황에서 적합한 프로토콜 방식이다.
- 주로 22번 포트를 사용한다.
- 인증서 기반의 사용자 인증이고 , 터널링, 포트포워딩 등 다양한 기능을 함께 제공한다.
- 보안이 높다는 것은 네트워크가 다양하게 있을 때 유연하게 사용할 수 있고, 원격 서버의 파일 전속 및 관리가 용이하다.
- 상대적으로 높은 리소스를 소모하며, 초기 설정이 복잡할 수 있다.

- SSH는 와이어샤크에서 암호화되서 볼 수가 없다.

3. 파이썬 활용 SSH 접속 방법
- paramiko를 사용해서 ssh로 접속하는 모듈을 만든다.
import paramiko