답변:
잘못 될 수있는 몇 가지가 있습니다. -vvv
ssh가 수행중인 작업에 대한 자세한 추적을 인쇄하고 일시 중지 된 위치를 확인하려면 추가 하십시오.
클라이언트 나 서버에 문제가있을 수 있습니다.
서버의 일반적인 문제는 역방향 DNS 조회 시간이 초과되는 클라이언트에서 연결하는 경우입니다. "역방향 DNS 조회"는 클라이언트 시스템의 IP 주소에서 호스트 이름으로 다시 돌아가는 것을 의미합니다. 보안에는 유용하지 않으며 로그 항목의 침입 시도를 진단하는 데 약간 도움이되지만 기본 구성은이를 수행합니다. 역 DNS 조회를 해제하려면, 추가 UseDNS no
로 /etc/ssh/sshd_config
(서버에서 루트를해야, 나중에 SSH 서비스를 다시 시작 기억).
잘못 될 수있는 또 다른 사항 은 GSSAPI 인증 시간 초과입니다. 그것이 무엇인지 모른다면 아마도 그것에 의존하지 않을 것입니다. 또는 클라이언트에있는 줄 GSSAPIAuthentication no
을 추가하여 끌 수 있습니다 ./etc/ssh/ssh_config
~/.ssh/config
UseDNS no
매력처럼 고쳤습니다. 내부 IP에 대한 역방향 조회를 처리하기 위해 DNS 서버가없는 내부 네트워크에 있습니다.
GSSAPIAuthentication
까? (15 분 동안 인터넷 검색이 그 사실을 밝히지 못했습니다)
로그인 프로세스 시간을 정하고 시간이 얼마나 걸리는지 확인하십시오.
[root@gislab00207 ~]# time ssh root@ISSLABNTL01
root@isslabntl01's password:
Last login: Fri Oct 4 07:55:03 2013 from 3.60.40.232
[root@ISSLABNTL01 ~]# exit
logout
Connection to ISSLABNTL01 closed.
real 0m45.192s
user 0m0.003s
sys 0m0.005s
You have new mail in /var/spool/mail/root
[root@gislab00207 ~]#
위의 내용을 보려면 로그인하는 데 약 45 초가 걸렸습니다 -------- 매우 느림
root로 로그인하면 sshd_config 파일을 편집하고 아래와 같이 UseDNS 항목을 변경하십시오. 여기에서는 파일을 편집하는 대신 sed를 사용하고 있습니다.
[root@ISSLABNTL01 ~]# grep -i dns /etc/ssh/sshd_config
#UseDNS yes
[root@ISSLABNTL01 ~]# sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
[root@ISSLABNTL01 ~]# grep -i dns /etc/ssh/sshd_config
UseDNS no
[root@ISSLABNTL01 ~]# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
[root@ISSLABNTL01 ~]# exit
로그인 프로세스 시간을 정하고 시간이 얼마나 걸리는지 살펴 보겠습니다.
[root@gislab00207 ~]# time ssh root@ISSLABNTL01
root@isslabntl01's password:
Last login: Fri Oct 4 07:55:03 2013 from 3.60.40.232
[root@ISSLABNTL01 ~]# exit
logout
Connection to ISSLABNTL01 closed.
real 0m6.192s
user 0m0.003s
sys 0m0.005s
You have new mail in /var/spool/mail/root
[root@gislab00207 ~]#
암호를 입력하는 데 6 초가 걸렸습니다.
UseDNS no
해결
우분투 설치에서 잘못된 것입니다.
이 문제를 해결하려면 /etc/nsswitch.conf 에서이 줄을 변경해야합니다 .
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
그리고 이것을 위해 변경하십시오 :
hosts: files dns
제 경우에는 다음을 다시 시작하여 문제를 해결할 수 있습니다 systemd-logind
.
systemctl restart systemd-logind
이것은 Serverfault에 언급 되어 있습니다.
나는 이것을 정기적으로해야하며 문제의 근본 원인이 무엇인지 모른다.
필자의 경우 ssh의 디버그 출력은 '연결'하는 동안 30 초 동안 중지되었습니다. 이 솔루션은 로컬 시스템의 DNS 설정과 관련이있는 것으로 나타났습니다. 이전 네트워크 구성은 /etc/resolv.conf
파일 에서 가짜 DNS 서버 뒤에 남았습니다 . 현재 DNS 서버로 바꾸면 문제가 해결되었습니다.
dlink 라우터의 DHCP 설정에서 DNS 릴레이 사용을 선택 하여 ssh -issue 를 통해 느린 암호 프롬프트를 해결할 수 있습니다. 그 후 SSH와의 연결은 1 초 이내에 작동했습니다.
Network Settings -> Router Settings -> Enable DNS Relay [x]
기본 구성은 모든 DNS 요청을 공급자에게 전달합니다. ssh pi@10.0.0.103과 연결했지만 속도가 느 렸습니다. 해결책에 대한 힌트는 dhcp를 통해 제공되는 /etc/resolv.conf "search upc.at"항목입니다.
dlink 매뉴얼 상태 :
When DNS Relay is enabled, DHCP clients of the router will be assigned
the router's LAN IP address as their DNS server. All DNS requests that
the router receives will be forwarded to your ISPs DNS servers.
When DNS relay is disabled, all DHCP clients of the router will
be assigned the ISP's DNS server.
클라이언트와 서버에서 dhcp가 릴리스 된 후 SSH를 통한 연결이 다시 빨라졌습니다. HTH.