Die Antwort von Gilles sollte die Antwort sein, wie sie in den Kommentaren erklärt wurde.
Gertvdijk
Antworten:
143
Es gibt mehrere Dinge, die schief gehen können. Fügen Sie dies hinzu -vvv, damit ssh eine detaillierte Aufzeichnung dessen druckt, was es tut und wo es pausiert.
Das Problem kann auf dem Client oder auf dem Server liegen.
Ein häufiges Problem auf dem Server besteht darin, dass Sie eine Verbindung von einem Client herstellen, für den das Zeitlimit für Reverse-DNS-Suchvorgänge überschritten wurde. (Eine "umgekehrte DNS-Suche" bedeutet, dass von der IP-Adresse des Clientcomputers zu einem Hostnamen zurückgekehrt wird. Aus Sicherheitsgründen ist dies nicht wirklich hilfreich, da es nur geringfügig hilfreich ist, Unterbrechungsversuche anhand von Protokolleinträgen zu diagnostizieren. In der Standardkonfiguration wird dies jedoch trotzdem durchgeführt.) Fügen Sie UseDNS nozum Deaktivieren von Reverse-DNS-Lookups Folgendes hinzu /etc/ssh/sshd_config(Sie müssen auf dem Server als Root angemeldet sein; denken Sie daran, den SSH-Dienst anschließend neu zu starten).
Eine andere Sache, die schief gehen kann, ist das Zeitlimit für die GSSAPI- Authentifizierung. Wenn Sie nicht wissen, was das ist, verlassen Sie sich wahrscheinlich nicht darauf. Sie können es deaktivieren, indem Sie die Zeile GSSAPIAuthentication nozu /etc/ssh/ssh_configoder hinzufügen ~/.ssh/config(das ist auf der Clientseite).
Für mich war es das GSSAPIAuthentication-Problem. Danke.
RajaRaviVarma
14
Reverse-DNS-Lookup war mein Problem
24.
2
Reverse DNS war auch für mich der Täter und hat UseDNS noes wie einen Zauber behoben. Ich bin in einem internen Netzwerk ohne DNS-Server, um Reverse-Lookups für interne IPs durchzuführen.
Jordan Mack
1
Gibt es Sicherheitsrisiken beim Deaktivieren GSSAPIAuthentication? (15 Minuten googeln hat das nicht beleuchtet)
Alexander Malakhov
3
@AlexanderMalakhov Wenn Sie sich beim Anmelden darauf verlassen, werden Sie sich selbst aussperren, wenn Sie es deaktivieren. Ansonsten nein. Und wenn Sie GSSAPI verwenden, wissen Sie, dass Sie einen GSSAPI-basierten Dienst in Ihrem Netzwerk konfigurieren mussten.
Gilles
13
Lassen Sie den Anmeldevorgang abwarten und sehen Sie, wie lange es dauern wird:
[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 ~]#
Siehe oben, es dauerte ungefähr 45 Sekunden, um sich einzuloggen -------- SEHR LANGSAM
Sobald Sie sich als root angemeldet haben, bearbeiten Sie die Datei sshd_config und ändern Sie den UseDNS-Eintrag wie folgt. Hier benutze ich sed, anstatt die Datei zu bearbeiten.
[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
Lassen Sie uns den Anmeldevorgang zeitlich festlegen und sehen, wie lange es dauern wird.
[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 ~]#
Es dauerte jetzt 6 Sekunden, bis ich das Passwort eingegeben hatte.
fantastisch .. ein Punkt bezüglich der Zeit .. das useDNS hat es für mich nicht behoben .. Ich hatte eine Passwortauthentifizierung und die Verzögerung war, dass die Aufforderung zur Passworteingabe angezeigt wurde .. Ich habe darauf gewartet, dass dies angezeigt wurde, und dann Strg-C ausgeführt, um die Zeit zu bestimmen Ich habe das Passwort nicht eingegeben.
Barlop
Ich kann UseDNS noin /etc/ssh/sshd_configbehoben mein Problem bestätigen
Ubuntus Konfiguration ist nicht falsch. In einigen Fällen (Heimnetzwerke ohne zentrale DNS-Server) ist dies das Richtige. In anderen (Netzwerken, in denen mDNS eine Zeitüberschreitung anfordert) ist dies schlecht.
Gilles
das [NOTFOUND = return] sollte nicht da sein.
Neuquino
4
@Neuquino Es sollte da sein. Es gibt einen Grund, den Sie anscheinend nicht verstehen. Wenn Sie mit so etwas experimentieren, müssen Sie nsswitch.confÄrger machen, und es ist keine allgemeine Lösung, um SSH zu verlangsamen.
Gertvdijk
Dies scheint mir die einzige Lösung zu sein, die funktioniert
linello
4
In meinem Fall kann das Problem durch einen Neustart behoben werden systemd-logind:
Die Debug-Ausgabe für ssh wurde in meinem Fall nur 30 Sekunden lang angehalten, während die Verbindung hergestellt wurde. Es stellte sich heraus, dass die Lösung mit den DNS-Einstellungen auf meinem lokalen System zusammenhängt. Eine frühere Netzwerkkonfiguration hatte einen falschen DNS-Server in der /etc/resolv.confDatei zurückgelassen. Das Ersetzen durch einen aktuellen DNS-Server behebt das Problem.
Für mich schien diese Datei /etc/resolv.conf (no e) zu sein
Shadow
0
Ich weiß nicht so viel über die Umgebung des Posts, wie ich möchte, aber für andere mit einem ähnlichen Problem kann es ein Problem sein, mit sssddem wir ldap mojo verknüpfen.
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 Folgendes tun:
service restart sssd
Danach funktionieren die Dinge einfach. Ich hatte keine Zeit, die Grundursache zu debuggen, aber dieses Bandaid funktioniert für mich.
Ich konnte die langsame Passwortabfrage per ssh- Problem lösen, indem ich DNS-Relay in den DHCP-Einstellungen meines dlink-Routers aktivierte. Danach funktionierten die Verbindungen mit SSH innerhalb einer Sekunde.
Network Settings -> Router Settings -> Enable DNS Relay [x]
Die Standardkonfiguration leitet jede DNS-Anfrage an den Anbieter weiter. Es war langsam, obwohl ich mich mit ssh [email protected] verband. 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 einem DHCP-Release auf Client und Server war die Verbindung über SSH wieder schnell. HTH.
Antworten:
Es gibt mehrere Dinge, die schief gehen können. Fügen Sie dies hinzu
-vvv
, damit ssh eine detaillierte Aufzeichnung dessen druckt, was es tut und wo es pausiert.Das Problem kann auf dem Client oder auf dem Server liegen.
Ein häufiges Problem auf dem Server besteht darin, dass Sie eine Verbindung von einem Client herstellen, für den das Zeitlimit für Reverse-DNS-Suchvorgänge überschritten wurde. (Eine "umgekehrte DNS-Suche" bedeutet, dass von der IP-Adresse des Clientcomputers zu einem Hostnamen zurückgekehrt wird. Aus Sicherheitsgründen ist dies nicht wirklich hilfreich, da es nur geringfügig hilfreich ist, Unterbrechungsversuche anhand von Protokolleinträgen zu diagnostizieren. In der Standardkonfiguration wird dies jedoch trotzdem durchgeführt.) Fügen Sie
UseDNS no
zum Deaktivieren von Reverse-DNS-Lookups Folgendes hinzu/etc/ssh/sshd_config
(Sie müssen auf dem Server als Root angemeldet sein; denken Sie daran, den SSH-Dienst anschließend neu zu starten).Eine andere Sache, die schief gehen kann, ist das Zeitlimit für die GSSAPI- Authentifizierung. Wenn Sie nicht wissen, was das ist, verlassen Sie sich wahrscheinlich nicht darauf. Sie können es deaktivieren, indem Sie die Zeile
GSSAPIAuthentication no
zu/etc/ssh/ssh_config
oder hinzufügen~/.ssh/config
(das ist auf der Clientseite).quelle
UseDNS no
es wie einen Zauber behoben. Ich bin in einem internen Netzwerk ohne DNS-Server, um Reverse-Lookups für interne IPs durchzuführen.GSSAPIAuthentication
? (15 Minuten googeln hat das nicht beleuchtet)Lassen Sie den Anmeldevorgang abwarten und sehen Sie, wie lange es dauern wird:
Siehe oben, es dauerte ungefähr 45 Sekunden, um sich einzuloggen -------- SEHR LANGSAM
Sobald Sie sich als root angemeldet haben, bearbeiten Sie die Datei sshd_config und ändern Sie den UseDNS-Eintrag wie folgt. Hier benutze ich sed, anstatt die Datei zu bearbeiten.
Lassen Sie uns den Anmeldevorgang zeitlich festlegen und sehen, wie lange es dauern wird.
Es dauerte jetzt 6 Sekunden, bis ich das Passwort eingegeben hatte.
quelle
UseDNS no
in/etc/ssh/sshd_config
behoben mein Problem bestätigenUseDNS no
GelöstEs ist etwas, was bei der Installation von Ubuntu nicht stimmt.
Um dies zu beheben, müssen Sie diese Zeile in /etc/nsswitch.conf ändern :
Und ändern Sie es für diesen:
quelle
nsswitch.conf
Ärger machen, und es ist keine allgemeine Lösung, um SSH zu verlangsamen.In meinem Fall kann das Problem durch einen Neustart behoben werden
systemd-logind
:Dies wird bei Serverfault erwähnt .
Ich muss dies jedoch regelmäßig tun und weiß nicht, wo die Ursache des Problems liegt.
quelle
Die Debug-Ausgabe für ssh wurde in meinem Fall nur 30 Sekunden lang angehalten, während die Verbindung hergestellt wurde. Es stellte sich heraus, dass die Lösung mit den DNS-Einstellungen auf meinem lokalen System zusammenhängt. Eine frühere Netzwerkkonfiguration hatte einen falschen DNS-Server in der
/etc/resolv.conf
Datei zurückgelassen. Das Ersetzen durch einen aktuellen DNS-Server behebt das Problem.quelle
Bei mir wurde die System-DNS auf 127.0.0.1 geändert, vorher war dies ein nicht existierender Host.
Und schreibe folgendes
quelle
Ich weiß nicht so viel über die Umgebung des Posts, wie ich möchte, aber für andere mit einem ähnlichen Problem kann es ein Problem sein, mit
sssd
dem wir ldap mojo verknüpfen.Das passiert mir:
Ich muss auf den Server zugreifen (in meinem Fall über die Konsole) und dann Folgendes tun:
Danach funktionieren die Dinge einfach. Ich hatte keine Zeit, die Grundursache zu debuggen, aber dieses Bandaid funktioniert für mich.
quelle
Ich konnte die langsame Passwortabfrage per ssh- Problem lösen, indem ich DNS-Relay in den DHCP-Einstellungen meines dlink-Routers aktivierte. Danach funktionierten die Verbindungen mit SSH innerhalb einer Sekunde.
Die Standardkonfiguration leitet jede DNS-Anfrage an den Anbieter weiter. Es war langsam, obwohl ich mich mit ssh [email protected] verband. 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:
Nach einem DHCP-Release auf Client und Server war die Verbindung über SSH wieder schnell. HTH.
quelle