ssh 로 원격 서버에 연결할 때 특정 서버는 로그인 프롬프트가 뜨는데 오래 걸리는 경우가 있다.

찾아 보니 주요 원인은 ssh 서버에서 연결하려는 클라이언트의 IP 를 기반으로 DNS 조회를 하기 때문이다.

다음 설정으로 sshd 가 DNS 조회를 끌 수 있다. 

 

  1. sshd_config 파일을 연다.

    vim /etc/ssh/sshd_config
    CODE
  2. UseDNS no  를 추가해 준다. 기존 설정에 UseDNS yes 가 없거나 주석 처리 되어 있어도 기본 설정이 yes 이므로 명시적으로 no로 설정해 주어야 한다.

    UseDNS no
    CODE
  3. sshd 를 재기동한다.

    service sshd restart
    CODE
  4. ssh 로 다시 연결해서 증상이 사라졌는지 확인한다.

 

ssh 클라이언트는 -v 옵션으로 디버깅할 수 있다. v는 하나에서 최대 3까지 사용가능하며 v 가 세 개일 경우 매우 자세하게 로그를 출력한다.

ssh -vvv myhost

 

 

Ref