Die SSH-Verbindung mit Schlüssel von meinem Rechner aus wurde plötzlich unglaublich langsam (~10 Sekunden!). Soweit ich das beurteilen kann, liegt es nicht an einem Server- oder DNS-Problem.
Das Problem trat plötzlich nach ein apt-get install kubuntu-desktop
paar einfachen und kleinen KDE-bezogenen Herumprobationen auf, auf meinemUbuntu 15.04 x86_64.
Beim Ausführen ssh -vv ...
wird mir angezeigt, dass es bei der letzten Zeile hiervon ewig wartet (die meiste Zeit ca. 10 Sekunden...):
OpenSSH_6.7p1 Ubuntu-5ubuntu1, OpenSSL 1.0.1f 6 Jan 2014 debug1: Reading configuration data /home/neuronq/.ssh/config debug1: /home/neuronq/.ssh/config line 1: Applying options for XXX.com debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for *
... und meins /etc/ssh/ssh_config
enthält dies (ich habe die auskommentierten Zeilen nicht eingefügt):
Host *
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication no
GSSAPIDelegateCredentials no
Kann es auf irgendeine Weise zu dieser Verlangsamung kommen, wenn die Kubuntu-Desktopinstallation plötzlich stattfindet (irgendeine seltsame Sache mit dem Keystore/Wallet)?(Außerdem konnte ich in KDE die SSH-Anmeldung per Schlüssel überhaupt nicht zum Laufen bringen, außer im Terminal, indem ich ssh-add
vorher manuell ein Kontrollkästchen ausführte und meine Schlüsselpassphrase eingab. Inzwischen habe ich KDE jedoch vollständig aufgegeben und bin zu Unity zurückgekehrt, sodass mich dies nicht mehr interessiert ... aber es könnte damit zusammenhängen.)
Antwort1
Haben Sie dieselben Probleme mit der Kennwortauthentifizierung oder hängt dies tatsächlich mit der Schlüsselauthentifizierung zusammen?
Ihr Client stellt möglicherweise eine korrekte DNS-Auflösung bereit, aber es ist Ihr Server, der trotzdem versucht, eine umgekehrte Suche von Ihrer IP-Adresse aus durchzuführen. Dies könnte die Verzögerung erklären, wie @kasperd sagt. Erfahrungsgemäß dauert dies jedoch nicht länger als ein paar Sekunden.
Gelingt die Authentifizierung mit SSH endlich? Wenn ja, sieht es wirklich nach einem DNS-Problem aus. Versuchen Sie, ob Ihre Konfiguration/Ihr Administrator dies zulässt, indem Sie Ihre IP/Ihren Hostnamen in /etc/hosts des Servers einfügen. Dadurch wird die DNS-Auflösung auf der Serverseite umgangen. Wenn Sie Ihren DNS nicht so konfigurieren, dass er für den Client auf der Serverseite eine ordnungsgemäße Reverse-Lookup-Funktion bietet, useDNS no
muss er, wie @kasperd sagt, auf der Serverseite platziert werden /etc/ssh/sshd_config
.
Wenn Ihr Administrator dies nicht tut, können Sie nichts weiter tun.
EDIT: Es ist absolut unmöglich, dass KDE/Unity oder ein anderer Desktop-Manager diese Verlangsamung verursachen könnte. Es würde mich unglaublich überraschen, wenn das der Fall wäre. ssh-add
Interessant ist jedoch die Tatsache, dass Sie Ihre Schlüssel angeben müssen, um sie verwenden zu können. Mit diesem Befehl merkt sich Ihr Authentifizierungsagent die Passphrasen, die Sie für Ihre Schlüssel eingegeben haben. Um den zu verwendenden Schlüssel anzugeben, geben Sie ihn entweder über die Befehlszeile oder in Ihrer ~/.ssh/config
Datei an:
# in your command line:
ssh -i /path/to/your/private/key user@host
# or in your /home/$user/.ssh/config file:
# (on command line later, simply use ssh user@host or ssh host if
# user locally and remotely are the same
Host $myhost
IdentityFile /path/to/your/private/key
IdentitiesOnly yes
Antwort2
Für mich bestand die eigentliche Lösung darin, auf AddressFamily inet
meinem lokalen Host entweder ~/.ssh/config
den entsprechenden Host oder hinzuzufügen ./etc/ssh/ssh_config
Host *
Die Ursache des Problems war höchstwahrscheinlich das kürzlich erfolgte Upgrade auf Ubuntu 15.05 und der Versuch von SSH, IPv6 zu verwenden (was jedoch fehlschlug und mit einer enormen Verzögerung verbunden war).