본문 바로가기
ОКБ (실험 설계국)/Trouble Shooting

16. [Linux] Putty 로그인 시 입력 프롬프트가 늦게 나타나는 경우 해결 방법

by Rosmary 2022. 10. 7.
728x90
반응형

 

 

 

 

바로 앞의 포스팅에서도 언급한대로, 필자가 최근 Linux를 VM에서 작업하면서 지금까지 맞닥드렸던, 그러나 정리를 하지 못한 문제들을 다시 만나면서 시간을 빼앗겼다. 이번에는 Linux 설치 직후, Putty 로그인 시 ID, Password 입력 프롬프트가 늦게 나타나는 경우에 대해 간략하게 정리해보려한다. 

 

 

 

가상 머신으로 Linux를 설치하고 처음에는 가상머신 프로그램 내 터미널을 통해 이런 저런 테스트를 진행하다가 Putty나 Xshell 등으로 SSH 접속을 막 접하신 분들이 이 상황에 맞닥드릴 가능성이 상당히 높다. 기다리는 시간도 상당히 긴데, 접속이 튕기는 경우도 많아 이제 막 Linux를 접하신 분들이라면 속이 타는 경우도 많을 것이다.

 

의외로 이 문제는 별 것 아닌 단 하나의 설정 때문에 발생하는 원인이다. 살펴보자.

 

 

 

1. 문제의 원인

 

Linux의 모든 서비스들은 설정 파일을 /etc 폴더 아래에 가지고 있다. ssh 접속 역시 sshd라는 Linux 서비스에 의해 진행이 되며, 이와 관련된 설정파일 역시 /etc/ssh 폴더 아래에 존재한다. 

 

가장 중요한 설정 파일은 sshd_config라는 파일이다. 이 파일을 vi로 열어 내용을 살펴보자.

 

# 명령어:  vi /etc/ssh/sshd_config

 

 

 

 

설정 파일의 115번째 줄을 보면 UseDNS라는 필드 값 설정이 보이는데, 주석처리가 되긴 했지만 기본 설정이 yes로 지정되어 있다. 이 설정은, 외부에서 Linux로 SSH 원격 접속 시, 접속을 시도하는 PC의 fqdn(일반적인 인터넷 주소를 말한다. 예를 들면 www.nav*r.com이라던가...)으로 변환하려는 시도를 한다. 

 

문제는 막 설치된 Linux는 자체적인 DNS 서버를 가지고 있지도, 설령 외부에 다른 DNS 서버를 가지고 있다고 해도 DNS 서버와 연결된 상태가 아닐 가능성이 높기 때문에 DNS 질의 응답을 받지 못해 지연이 발생하게 된다. 

 

통신 패킷을 모니터링하는 tshark 명령어로 이를 확인해보면 SSH 접속 시도중임에도 DNS 통신 포트인 53번을 이용하는 내역이 고스란히 나타난다.

 

 

 

tshark로 모니터링을 시작한 뒤, putty로 로그인을 시도한 모습이다. 필자의 경우, DNS 서버 주소를 168.126.63.1로 지정하기는 했으나, 외부로의 통신이 불가능한 상황이라 질의에 대한 응답을 받지 못하고 있는 상태다(응답을 주는 IP가 192.30.1.2, Gateway 주소임을 확인하자) 따라서 Putty 로그인 시 입력 프롬프트도 제대로 나타나지 않는 것이다.

 

 

 

2. 문제의 해결

 

문제의 원인이 되는 sshd_config 파일의 UseDNS의 값을 no로 지정하고 sshd 서비스를 재실행하던가, 아니면 지정한 DNS로 통신이 가능하도록 만들어 어떠한 응답값이라도 받게 만들면 된다. 

 

첫 번 째 방법을 사용해보자. 현재 외부 DNS 서버인 168.126.63.1은 통신이 불가한 상태다.

 

 

 

기존에 입력 프롬프트가 나타나기까지 꽤 오랜 시간을 기다려야했으나, sshd_config의 설정을 변경한 뒤, 10초만에 로그인이 진행됨을 확인할 수 있다.

 

이제 두 번 째 방법을 사용해보자. 위의 설정을 원래대로 원상복귀하고 sshd 서비스를 재실행하자. 오늘 다루고자 하는 문제가 다시 발생할 것이다. 이 상태에서 외부 DNS 서버와의 통신만 제대로 가능하도록 만들어주면 질의에 대한 어떠한 응답이라도 정상적으로 돌려받기 때문에 문제가 발생하지 않는다.

 

역시 10초 안으로 로그인이 완료되었음을 확인할 수 있다.

 

 

 

Fin.

반응형

댓글