ssh의 "암호"프롬프트가 나타나는 데 왜 오랜 시간이 걸립니까?


94

을 시도 할 때 ssh비밀번호 프롬프트가 표시되는 데 너무 오래 (약 2 분) 걸립니다.

왜 이런 일이 발생합니까?


1
질의 대답은 해야 정말 같은 코멘트에 설명 대답.
gertvdijk

답변:


143

잘못 될 수있는 몇 가지가 있습니다. -vvvssh가 수행중인 작업에 대한 자세한 추적을 인쇄하고 일시 중지 된 위치를 확인하려면 추가 하십시오.

클라이언트 나 서버에 문제가있을 수 있습니다.

서버의 일반적인 문제는 역방향 DNS 조회 시간이 초과되는 클라이언트에서 연결하는 경우입니다. "역방향 DNS 조회"는 클라이언트 시스템의 IP 주소에서 호스트 이름으로 다시 돌아가는 것을 의미합니다. 보안에는 유용하지 않으며 로그 항목의 침입 시도를 진단하는 데 약간 도움이되지만 기본 구성은이를 수행합니다. 역 DNS 조회를 해제하려면, 추가 UseDNS no/etc/ssh/sshd_config(서버에서 루트를해야, 나중에 SSH 서비스를 다시 시작 기억).

잘못 될 수있는 또 다른 사항 은 GSSAPI 인증 시간 초과입니다. 그것이 무엇인지 모른다면 아마도 그것에 의존하지 않을 것입니다. 또는 클라이언트에있는 줄 GSSAPIAuthentication no을 추가하여 끌 수 있습니다 ./etc/ssh/ssh_config~/.ssh/config


8
저에게는 GSSAPIAuthentication 문제였습니다. 감사합니다.
RajaRaviVarma

14
역방향 DNS 조회 내 문제였다
trinth

2
리버스 DNS도 저에게 범인이었고 UseDNS no매력처럼 고쳤습니다. 내부 IP에 대한 역방향 조회를 처리하기 위해 DNS 서버가없는 내부 네트워크에 있습니다.
Jordan Mack

1
사용하지 않도록 설정하면 보안에 영향을 미칩니 GSSAPIAuthentication까? (15 분 동안 인터넷 검색이 그 사실을 밝히지 못했습니다)
Alexander Malakhov

3
@AlexanderMalakhov 로그인에 의존하는 경우 비활성화하면 비활성화됩니다. 그 외에는 요 또한 GSSAPI를 사용하는 경우 네트워크에서 일부 GSSAPI 기반 서비스를 구성해야했습니다.
Gilles

13

로그인 프로세스 시간을 정하고 시간이 얼마나 걸리는지 확인하십시오.

[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는 나를 위해 그것을 고치지 않았다 .. 나는 암호 인증을 받았으며 암호 입력 프롬프트가 나타나는 지연이 나타났습니다. 나는 그것이 나타날 때까지 기다렸다가 Ctrl-c '에는 비밀번호를 입력하지 않았습니다.
barlop

문제를 해결 UseDNS no하여 확인할 수 있습니다/etc/ssh/sshd_config

UseDNS no해결
Pandurang Patil

@PandurangPatil 나쁜 구성 옵션 : usedns
유세프 Mohamadi

@zhilevan 또한 구성이 왜 나쁜지 언급해야합니다. 나쁜 설정 이유입니다 도움이 이해
Pandurang 파틸에게

4

우분투 설치에서 잘못된 것입니다.

이 문제를 해결하려면 /etc/nsswitch.conf 에서이 줄을 변경해야합니다 .

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

그리고 이것을 위해 변경하십시오 :

hosts:          files dns

3
우분투의 구성이 잘못되지 않았습니다. 경우에 따라 (중앙 DNS 서버가없는 홈 네트워크) 올바른 일입니다. 다른 사람들 (mDNS 요청이 시간 초과되는 네트워크)에서는 나쁩니다.
Gilles

[NOTFOUND = return]이 없어야합니다.
Neuquino

4
@Neuquino 거기 있어야 합니다. 당신이 이해하지 못하는 이유가 있습니다. 당신의 바이올린을 켜는 nsswitch.conf이 같은 문제를 요구하고 SSH를 느리게하는 일반적인 솔루션을 제공하지 않습니다.
gertvdijk

이것이 나에게 유일한 해결책 인 것 같다
linello

4

제 경우에는 다음을 다시 시작하여 문제를 해결할 수 있습니다 systemd-logind.

systemctl restart systemd-logind

이것은 Serverfault에 언급 되어 있습니다.

나는 이것을 정기적으로해야하며 문제의 근본 원인이 무엇인지 모른다.


1

필자의 경우 ssh의 디버그 출력은 '연결'하는 동안 30 초 동안 중지되었습니다. 이 솔루션은 로컬 시스템의 DNS 설정과 관련이있는 것으로 나타났습니다. 이전 네트워크 구성은 /etc/resolv.conf파일 에서 가짜 DNS 서버 뒤에 남았습니다 . 현재 DNS 서버로 바꾸면 문제가 해결되었습니다.


0

나를 위해 시스템 dns를 127.0.0.1로 변경하고 있었기 전에 존재하지 않는 호스트였습니다.

nano /etc/resolv.conf

그리고 다음을 작성하십시오

domain localdomain
search localdomain
(Removed this line) ===> nameserver 10.0.0.1
(Added this line) ===> nameserver 127.0.0.1

저에게이 파일은 /etc/resolv.conf (no e) 인 것 같습니다
Shadow

0

나는 포스터 환경에 대해 내가 원하는만큼 많이 알지 못하지만 비슷한 문제가있는 다른 사람들에게는 sssdldap mojo를 묶는 데 사용되는 문제 일 수 있습니다 .

이것은 나에게 일어난다 :

$ time ssh server.example.com

real  2m0.018s
user  0m0.006s
sys   0m0.004s

서버에 액세스해야합니다 (내 경우에는 콘솔을 통해).

service restart sssd

그 후에는 문제가 해결됩니다. 근본 원인을 디버깅 할 시간이 없었지만이 반창고가 효과적입니다.


0

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.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.