Server/Ubuntu

[Ubuntu] Ubuntu 22.04.1 LTS에 Telnet 서버 구축

aeeazip 2023. 2. 10. 14:00

1. Telnet에 대하여


 

Telnet = 인터넷을 통해 원격지의 호스트 컴퓨터에 접속할 때 사용하는 프로토콜 (Port=23)

= 네트워크에 있는 컴퓨터를 자신의 컴퓨터처럼 파일 전송, 파일 생성, 디렉토리 생성 등 자유롭게 가능

 

 

Telnet의 특징
1. Telnet 세션은 암호화 및 무결성 검사 지원 X
2. 패스워드가 암호화 X → 스니핑 가능
3. Unix 시스템에서 in.telnetd 수정 → 클라이언트 터미널 종류에 대해 인증 없이 셸 부여 O

 

Telnet SSH
원격지 PC를 액세스 하기 위한 용도로 사용
byte 스트림 형식으로 통신 암호화 통신 (DES, RSA)

 

SSH는 암호화 통신이 이루어지는 반면, Telnet은 byte 스트림 형식으로 통신하기 때문에 보안에 취약하다. 

 

 

 

 

2. Ubuntu 22.04에 Telnet 설치


 

root@seven: ~$ sudo apt update
root@seven: ~$ sudo apt upgrade
→ telnet 설치 전 apt 최신화 작업 필요 (프로그램 설치 전 준비 과정)
 
root@seven: ~$ sudo apt-get install telnetd -y
→ telnet 패키지를 설치
 
root@seven: ~$ sudo systemctl status inetd
→ 설치 된 telnet의 실행 상태를 확인
active(running) 메시지를 확인했다면 현재 실행 중!

 

root@seven: ~$ sudo ufw allow  from 192.168.139.27 to any port 23
→ 방화벽을 사용중이라면 telnet [텔넷 포트 : 23] 을 허용하도록 설정 변경 [192.168.139.27 = 리눅스 서버 IP]

 

 

 

 

3. 윈도우에서의 원격접속


윈도우에서 Telnet에 원격접속하기 위해 기본적으로 비활성화 되어 있는 ‘텔넷 클라이언트’를 활성화

 

윈도우에서 텔넷 클라이언트 활성화

 

 

윈도우 cmd 창에서 텔넷 연결 후 리눅스 서버로 원격접속

 

Telnet 윈도우로 연결 및 실행 방법
C:\Windows\system32> telnet 192.168.139.27
→ telnet ip_address로 접근 O
→ 윈도우에서 리눅스의 seven 계정 (IP = 192.168.139.27)로의 접근을 시도
→ 포트가 정상적으로 개방되어 있다면 cmd명이 변경된 것을 확인 O
 
Are you sure want to continue connecting (yes/no[fingerprint])?
→ 정말로 접속을 원하는지 묻는다
→ Y 입력
 
seven-데스탑명 login:
→ 로그인할 계정을 묻는다
→ seven 입력
 
password:
→ 계정 비밀번호를 묻는다
→ seven 입력
 
seven@seven-데스크탑명:~$
→ 우분투의 경로와 명령 Input이 $로 바뀜
→ 정상적으로 연결된 것을 확인!
 
seven@seven-데스크탑명:~$ mkdir asdfg
→ 윈도우에서 asdfg라는 디렉토리를 만들어 원격접속 여부를 테스트
 

 

 

우분투 seven 계정에서 ls 명령어를 통해 asdfg 디렉토리가 생성된 것을 확인

 

 

Ubuntu 서버와 노트북 가상머신과의 Telnet 연결 실패 원인
Ubuntu 서버와 노트북 가상머신의 네트워크 클래스가 다르기 때문에 통신 불가능!!!
= IP는 A,B,C class로 분리되어 있으니까 서로 다른 클래스에 있다면 통신이 불가능하다는 점
 
Ubuntu 서버 IP는 192.168.139.81인데 노트북 속 가상머신의 ip는 192.168.41.1로 중계 장비가 없는 상황에서 클래스 다른 네트워크가 접속 시도하면 접속에 실패하게 된다.
 
인터넷은 IP가 다 다른데 라우터나 중계장비를 사용한다면 접속 가능
 
브릿지 기능 사용
= 관리자가 설정하여 사용 가능
= 서로 다른 네트워크에 있다면 연결을 끊는 역할