텔넷(Telnet)이란? SSH와 차이, 포트 연결 테스트 활용법

로그인용으로는 은퇴했지만 포트 확인용으로는 아직 쓰이는 프로토콜. 왜 평문 전송이 문제인지, SSH와 무엇이 다른지, 포트 테스트는 어떻게 읽는지 정리했습니다.

한눈에 보기

텔넷(Telnet)은 네트워크 너머 컴퓨터의 터미널을 마치 앞에 앉은 것처럼 쓰게 해 주는 가장 오래된 원격 접속 프로토콜 중 하나입니다. 설계 당시에는 암호화가 고려되지 않아 아이디와 비밀번호를 포함한 모든 내용이 평문으로 오갑니다. 그래서 원격 관리는 SSH가 대신하게 되었습니다. 이 글은 텔넷이 어떻게 생겼고 무엇을 정의하는지, 왜 위험한지를 개념으로 설명하고, 오늘 가장 흔한 용도인 포트 연결 테스트를 올바르게 읽는 법과 더 나은 대안을 소개합니다. 공격 방법을 다루는 글이 아니라 방어와 진단을 위한 기초 정보입니다.

어디서 왔나: 아파넷에서 RFC 854까지

텔넷은 1969년 아파넷(ARPANET)용으로 개발되었고, 이후 RFC 854와 RFC 855로 정리되어 인터넷 표준 8을 이룹니다(위키백과 기준). RFC 854는 1983년 5월에 발행되었으며, 저자는 ISI의 J. Postel과 J.K. Reynolds입니다. 목적은 "꽤 범용적인, 양방향의 8비트 바이트 지향 통신 수단"을 제공하는 것으로, 주로 단말 장치와 단말 지향 프로세스를 연결하는 데 쓰입니다. 서로 다른 호스트가 저마다 다른 단말기 규칙을 쓰기 때문에, 양쪽이 모두 네트워크 가상 터미널(NVT)이라는 가상의 표준 단말기 표현으로 변환해 주고받도록 한 것이 설계의 핵심입니다.

동작 원리와 SSH와의 차이

텔넷은 TCP 연결 위에서 키 입력과 화면 출력을 바이트 스트림으로 주고받습니다. 데이터 중간에 제어 명령이 필요할 때는 IAC(255) 바이트 뒤에 명령을 붙이고, 부가 기능의 사용 여부는 WILL(251)·WON'T(252)·DO(253)·DON'T(254)로 협상합니다(위키백과 기준). 아래 카드는 개념을 '텔넷이란 → 포트 23 → 대체된 이유 → 포트 테스트 → 활성화 → 예시' 순서로 정리한 것입니다.

항목텔넷SSH
암호화없음(평문)있음
서버 신원 확인없음호스트 키로 확인
기본 포트TCP 23TCP 22
권장 용도포트 연결 진단 등 제한적 용도원격 관리의 표준
🖥️

텔넷이란 - 최초의 원격 터미널 접속 프로토콜

1969년 등장한 텔넷은 네트워크로 떨어진 컴퓨터의 명령줄(터미널)에 접속해 마치 앞에 앉은 것처럼 조작할 수 있게 해주는 프로토콜입니다.

텔넷(Telnet)은 인터넷의 전신인 아파넷(ARPANET) 시절부터 쓰인 매우 오래된 프로토콜로, 사용자가 입력한 키 입력을 네트워크 너머 서버로 그대로 전달하고 그 결과 화면을 다시 돌려받는 방식으로 원격 터미널 접속을 구현합니다. 오늘날 원격 서버 관리에 널리 쓰이는 SSH의 개념적 조상이라 할 수 있습니다.

🔢

기본 포트 23번과 동작 방식

텔넷은 기본적으로 TCP 23번 포트를 사용하며, 클라이언트와 서버가 연결되면 이후 모든 입출력이 그 연결을 통해 오갑니다.

텔넷 클라이언트가 서버의 23번 포트로 TCP 연결을 맺으면, 이후 사용자가 키보드로 입력하는 모든 내용이 실시간으로 서버에 전송되고 서버의 응답(화면 출력)이 그대로 클라이언트에 돌아옵니다. 로그인 절차, 명령어 실행 결과 등 모든 것이 이 하나의 텍스트 스트림으로 오갑니다.

🔓

왜 SSH로 대체됐나 - 평문 전송의 보안 문제

텔넷은 로그인 비밀번호를 포함한 모든 데이터를 암호화 없이 평문으로 주고받기 때문에, 통신 경로 중간에서 그대로 가로챌 수 있습니다.

텔넷이 설계된 시대에는 네트워크 도청에 대한 고려가 크지 않았기 때문에, 사용자 아이디와 비밀번호까지 포함한 모든 데이터가 암호화 없이 전송됩니다. 같은 네트워크에 있는 공격자가 패킷 캡처 도구만으로도 로그인 정보를 그대로 훔쳐볼 수 있다는 사실이 알려지면서, 모든 통신을 암호화하는 SSH(시큐어 셸)가 원격 접속의 표준으로 자리 잡았습니다.

🧪

그런데도 여전히 쓰이는 이유 - 포트 연결 테스트 도구

보안 접속용으로는 은퇴했지만, 특정 포트가 열려 있는지 빠르게 확인하는 간단한 진단 도구로는 지금도 자주 쓰입니다.

실제 로그인을 위해 텔넷을 쓰는 경우는 거의 사라졌지만, "telnet 서버주소 포트번호" 명령으로 해당 포트에 TCP 연결이 되는지만 빠르게 확인하는 용도로는 여전히 널리 쓰입니다. 연결에 성공하면 해당 포트가 열려 있고 방화벽도 막고 있지 않다는 뜻이며, 연결이 거부되거나 응답이 없으면 포트가 닫혀 있거나 경로 어딘가가 막혀 있다는 신호로 해석할 수 있습니다.

⚙️

Windows에서 telnet 명령어 활성화하는 방법

최신 Windows에는 텔넷 클라이언트가 기본적으로 꺼져 있어, "Windows 기능 켜기/끄기"에서 직접 활성화해야 명령어를 쓸 수 있습니다.

제어판의 "프로그램 및 기능"에서 "Windows 기능 켜기/끄기"로 들어가 목록에서 "텔넷 클라이언트" 항목에 체크한 뒤 확인을 누르면 설치가 진행됩니다. 설치가 끝나면 명령 프롬프트나 PowerShell에서 telnet 명령을 바로 사용할 수 있습니다. Mac과 리눅스는 대부분 기본적으로 telnet 명령이 포함되어 있거나 패키지 관리자로 손쉽게 설치할 수 있습니다.

📶

실무에서 텔넷으로 포트 열림 여부 확인하는 예시

이메일 서버의 25번 포트나 웹 서버의 80번 포트처럼, 특정 서비스가 정상적으로 열려 있는지 빠르게 확인할 때 자주 활용됩니다.

예를 들어 "telnet mail.example.com 25"를 입력했을 때 연결에 성공하고 서버의 인사말(배너)이 출력되면 해당 메일 서버의 SMTP 포트가 정상적으로 열려 있다는 뜻입니다. 반대로 "연결할 수 없습니다"라는 메시지가 나오면 방화벽이 막고 있거나 서비스가 꺼져 있을 가능성을 점검해야 합니다. 다만 어디까지나 연결 여부만 확인하는 용도이며, 실제 로그인이나 데이터 전송에는 절대 사용하지 않는 것이 안전합니다.

평문 전송은 구체적으로 어떤 위험인가

텔넷 세션에서는 비밀번호를 포함한 입력과 출력이 암호화되지 않은 채 경로의 모든 장비를 지납니다. 같은 구간을 지나는 누구든 내용을 읽을 수 있다는 점이 핵심 위험이고, 서버 신원을 확인하는 절차도 없어 가짜 서버와 구별하기 어렵습니다. SANS Institute는 일반적인 상황에서 원격 로그인에 텔넷을 쓰지 말 것을 권고한다고 정리됩니다(위키백과 기준). 또 텔넷이 켜져 있는 사물인터넷 기기나 공유기, 모뎀은 설정이 잘못되면 악성코드의 표적이 되는 일이 흔하다고 알려져 있습니다. 이 글은 공격 절차를 다루지 않으며, 방어의 요점은 단순합니다. 필요 없는 텔넷 서비스는 끄고, 관리 접속은 SSH로 옮기고, 기기의 기본 계정은 반드시 바꾸고, 관리 포트를 인터넷에 불필요하게 열어 두지 않는 것입니다.

포트 테스트: 결과를 어떻게 읽을까 (가상 예시)

아래는 실제 서버 기록이 아닌 읽는 법을 위한 가상 예시입니다. 다른 포트에 telnet 클라이언트로 접속하면 텔넷 프로토콜이 아니라 순수 TCP 연결로 동작한다는 점(위키백과 기준)이 이 용법의 바탕입니다.

관찰된 결과가능한 해석다음에 볼 곳
연결되고 서버가 인사말을 보냄포트가 열려 있고 서비스가 응답 중서비스 자체의 동작 점검
연결되지만 아무 출력 없음포트는 열려 있고 서비스가 먼저 말하지 않는 종류해당 프로토콜 클라이언트로 재시도
즉시 거부됨해당 포트에서 듣는 서비스가 없을 가능성서비스 실행 여부, 리스닝 주소
한참 기다린 뒤 시간 초과중간 방화벽이 패킷을 버리거나 경로 문제 가능성방화벽 규칙, 보안 그룹, 라우팅

연결에 성공했다는 것은 TCP 연결이 맺어졌다는 뜻일 뿐, 그 위의 서비스가 정상이라는 보증은 아닙니다. 또 이 테스트는 내가 있는 위치에서 상대까지의 경로를 확인하는 것이므로, 다른 네트워크에서는 결과가 다를 수 있습니다.

더 나은 대안 도구

흔한 오해와 정정

한계와 더 알아볼 점

포트 테스트는 TCP 연결 수준만 확인하므로 UDP 서비스(DNS, VoIP 등)에는 쓸 수 없습니다. 또 방화벽이 일부 출발지만 허용하는 환경에서는 테스트 위치에 따라 결과가 달라집니다. 텔넷 옵션 협상의 세부와 NVT 규칙은 RFC 854와 후속 RFC 문서를 직접 확인하세요. SSH 도입 시기처럼 이 글에서 확인하지 못한 연표는 다루지 않았습니다.

SSH의 원리가 더 궁금하다면

텔넷을 대체한 SSH가 어떻게 통신을 암호화하고 인증하는지 궁금하다면SSH(시큐어 셸) 프로토콜이란? 기초 개념 정리도 확인해보세요.

포트 자체에 대해 더 알고 싶다면

어떤 서비스가 어떤 포트 번호를 쓰는지 한눈에 보고 싶다면포트 번호 총정리도 참고해보세요.

자주 묻는 질문

텔넷으로 아직도 로그인해서 서버를 관리해도 되나요?

권장하지 않습니다. 텔넷은 로그인 정보를 포함한 모든 통신이 암호화되지 않은 평문으로 전송되기 때문에, 같은 네트워크의 누군가가 패킷을 가로채면 계정 정보가 그대로 노출될 수 있습니다. 원격 서버 관리에는 반드시 SSH를 사용해야 합니다.

텔넷 명령으로 포트 테스트를 했는데 연결이 바로 끊겨요.

연결 직후 곧바로 끊긴다면 포트는 열려 있지만 텔넷 프로토콜 자체를 이해하지 못하는 서비스(예: 웹 서버, 메일 서버 등)일 가능성이 높습니다. 이 경우에도 "연결 자체는 성공했다"는 점에서 해당 포트가 열려 있다는 사실은 확인된 것입니다.

텔넷 포트 23번을 인터넷에 열어 두어도 되나요?

특별한 이유가 없다면 열지 않는 것이 원칙입니다. 평문 프로토콜이고 인증이 약해 자동화된 접속 시도의 대상이 되기 쉽기 때문입니다. 장비 관리가 필요하면 SSH와 접속 IP 제한, VPN 같은 방법을 검토하세요.

텔넷과 SSH는 같은 기술의 다른 버전인가요?

아닙니다. 둘 다 원격 터미널 접속에 쓰이지만 별개의 프로토콜입니다. SSH는 암호화, 서버 인증, 사용자 인증을 처음부터 포함하도록 설계되어 텔넷의 약점을 보완하며 자리를 대체했습니다.

텔넷 연결이 성공했는데 웹사이트는 안 열려요.

TCP 연결은 되지만 그 위의 웹 서버 설정, 인증서, 애플리케이션 오류 등 다른 계층의 문제일 수 있습니다. 포트 테스트는 첫 번째 단계일 뿐이므로 서비스 로그나 브라우저 오류 메시지를 이어서 확인하세요.

이어서 읽어 보세요