Warum dauert die Eingabeaufforderung "Passwort" von ssh so lange?

86

Wenn ich ssh versuche, dauert die Eingabeaufforderung zu lange (fast zwei Minuten).

Warum passiert das?

    
Neuquino 22.01.2013, 21:55

8 Antworten

135

Es gibt mehrere Dinge, die schiefgehen können. Fügen Sie -vvv hinzu, damit ssh eine detaillierte Übersicht darüber erstellt, was es tut, und sehen Sie, wo es pausiert.

Das Problem könnte auf dem Client oder auf dem Server liegen.

Ein häufiges Problem auf dem Server ist, wenn Sie von einem Client aus eine Verbindung herstellen, für die Reverse-DNS-Lookups fehlschlagen. (Ein "Reverse DNS Lookup" bedeutet, dass man von der IP-Adresse des Client-Rechners zu einem Host-Namen zurückkehrt. Dies ist nicht wirklich nützlich für die Sicherheit, nur wenig hilfreich, um Einbruchversuche von Log-Einträgen zu diagnostizieren. Um Reverse-DNS-Lookups zu deaktivieren, fügen Sie UseDNS no zu /etc/ssh/sshd_config hinzu (Sie müssen root auf dem Server sein; denken Sie daran, den SSH-Dienst danach neu zu starten).

Eine andere Sache, die schief gehen kann ist GSSAPI Authentifizierungs-Timeout. Wenn Sie nicht wissen, was das ist, verlassen Sie sich wahrscheinlich nicht darauf; Sie können es ausschalten, indem Sie die Zeile GSSAPIAuthentication no zu /etc/ssh/ssh_config oder ~/.ssh/config hinzufügen (das ist auf der Client-Seite).

    
Gilles 22.01.2013, 22:15
12

Lassen Sie sich Zeit für die Anmeldung und sehen Sie, wie lange es dauert:

[[email protected] ~]# time ssh [email protected]
[email protected]'s password:
Last login: Fri Oct  4 07:55:03 2013 from 3.60.40.232

[[email protected] ~]# exit
logout
Connection to ISSLABNTL01 closed.

real    0m45.192s
user    0m0.003s
sys     0m0.005s

You have new mail in /var/spool/mail/root
[[email protected] ~]#

Siehe oben, es dauerte ungefähr 45 Sekunden, um sich anzumelden -------- SEHR LANGSAM

Nachdem Sie sich als root angemeldet haben, bearbeiten Sie die sshd_config-Datei und ändern Sie den UseDNS-Eintrag wie folgt. Hier verwende ich sed, anstatt die Datei zu bearbeiten.

[[email protected] ~]# grep -i dns /etc/ssh/sshd_config
#UseDNS yes

[[email protected] ~]# sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
[[email protected] ~]# grep -i dns /etc/ssh/sshd_config
UseDNS no

[[email protected] ~]# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]
[[email protected] ~]# exit

Lassen Sie uns den Anmeldevorgang zeitlich anpassen und sehen Sie, wie lange es dauern wird.

[[email protected] ~]# time ssh [email protected]
[email protected]'s password:
Last login: Fri Oct  4 07:55:03 2013 from 3.60.40.232

[[email protected] ~]# exit
logout

Connection to ISSLABNTL01 closed.

real    0m6.192s
user    0m0.003s
sys     0m0.005s

You have new mail in /var/spool/mail/root
[[email protected] ~]#

Sehen Sie, es dauerte jetzt 6 Sekunden, die Zeit für mich, das Passwort einzugeben.

    
Mamadou Lamine Diatta 04.10.2013 14:39
4

Es ist etwas, das bei der Installation von Ubuntu nicht in Ordnung ist.

Um es zu beheben, müssen Sie diese Zeile in /etc/nsswitch.conf ändern:

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

Und ändern Sie es für dieses:

hosts:          files dns
    
Neuquino 22.01.2013 21:55
4

In meinem Fall kann das Problem durch den Neustart von systemd-logind :

gelöst werden
systemctl restart systemd-logind

Dies wird auf Serverfault erwähnt.

Ich muss dies jedoch regelmäßig tun und ich weiß nicht, was die Ursache des Problems ist.

    
Candid Dauth 22.04.2016 19:01
1

Die Debug-Ausgabe für ssh wurde in meinem Fall gerade für 30 Sekunden gestoppt, während es sich 'verband'. Die Lösung stellte sich als mit den DNS-Einstellungen auf meinem lokalen System verbunden heraus. Eine vorherige Netzwerkkonfiguration hatte einen falschen DNS-Server in der /etc/resolv.conf -Datei zurückgelassen. Ersetzen durch einen aktuellen DNS-Server behebt das Problem.

    
ErikWeitenberg 25.07.2014 18:29
0

Bei mir wurde das System DNS auf 127.0.0.1 geändert, vorher war das ein nicht existierender Host.

nano /etc/resolv.conf

Und schreibe folgendes

domain localdomain
search localdomain
(Removed this line) ===> nameserver 10.0.0.1
(Added this line) ===> nameserver 127.0.0.1
    
Alireza 07.12.2013 06:51
0

Ich weiß nicht so viel über die Umgebung des Posters wie ich möchte, aber für andere mit einem ähnlichen Problem könnte es ein Problem mit sssd sein, mit dem wir ldap mojo binden.

Das passiert mir:

$ time ssh server.example.com

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

Ich muss auf den Server zugreifen (in meinem Fall über die Konsole) und dann a:

service restart sssd

Danach funktionieren die Dinge einfach. Ich hatte keine Zeit, die Ursache zu debuggen, aber dieser Bandaid funktioniert für mich.

    
KurtB 15.09.2014 20:36
0

Ich konnte die langsame Passwortabfrage über ssh lösen, indem ich DNS-Relay aktivieren in den DHCP-Einstellungen meines dlink-Routers aktiviere. Danach arbeiteten Verbindungen mit SSH innerhalb einer Sekunde.

Network Settings -> Router Settings -> Enable DNS Relay [x]

Die Standardkonfiguration leitet jede DNS-Anfrage an den Provider weiter. Es war langsam, obwohl ich mit ssh [email protected] verbunden war. Ein Hinweis auf die Lösung war ein Eintrag in /etc/resolv.conf "search upc.at", der über dhcp bereitgestellt wird.

Im dlink-Handbuch heißt es:

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.

Nach einer DHCP-Veröffentlichung auf Client und Server war die Verbindung per SSH wieder schnell. HTH.

    
domih 19.06.2015 21:11

Tags und Links