SSH baut nur langsam eine Verbindung auf [duplizieren]

25

Ich habe gerade Ubuntu 11.10 installiert und wann immer ich versuche, SSH auf meinen Servern zu installieren, ist es sehr langsam. Bevor die Passwortabfrage angezeigt wird, kann es zwischen 40 Sekunden und 60 Sekunden dauern.

Ich benutze:

ssh [email protected]

Sobald ich eingeloggt bin, ist alles in Ordnung und es funktioniert schnell.

Warum dauert es so lange und wie kann ich es beheben? Gibt es Optionen im SSH-Befehl, die ich verwenden kann?

Joel
quelle

Antworten:

44

Dies ist langsam, da der OpenSSH-Daemon DNS verwendet, um eine Reverse-Suche des Client-Hostnamens durchzuführen, um sicherzustellen, dass dieser gültig ist

sudo vi /etc/ssh/ssh_config

Kommentieren Sie die folgenden Zeilen aus

#GSSAPIAuthentication yes
#GSSAPIDelegateCredentials no

ODER

füge das hinzu:

UseDNS no
Buch des Zeus
quelle
6
Es gibt eine sshd_config-Datei für die Serverseite und eine ssh_config-Datei für die Clientseite. Das Festlegen dieser Optionen auf dem Client und dem Server in der Datei ssh_config hat mir nicht geholfen. Erst nachdem ich eingestellt GSSAPIAuthentication nound GSSAPIDelegateCredentials yesund fügte hinzu , UseDNS nofür mich in der Server-Datei sshd_config hat es beschleunigt die Verbindung her.
Metakermit
1
Gibt es keine Auswirkungen auf die Sicherheit, wenn Sie dies tun?
TheStoryCoder
@TheStoryCoder gute Frage, ich muss nochmal nachschauen, du hast jetzt meine Neugier geweckt ...
Book Of Zeus
1
Nach dem Hinzufügen UseDNS nobekam Bad configuration option: usednsich, als ich versuchte, einen anderen Server mit ssh anzumelden.
Casper
1
Versuchen Sie , UseDNSum noin /etc/sshd_configoder /etc/ssh/sshd_config. NICHT /etc/ssh_config!
Yu Jiaao
13

Dies ist nur eine Ergänzung der Antwort des Buches Zeus. Falls Sie keinen Root-Zugriff (sudo) haben, können Sie ihn trotzdem konfigurieren.

Sie müssen Ihre "user ssh_config" -Datei wie folgt bearbeiten:

vi $HOME/.ssh/config

(Hinweis: Sie müssten das Verzeichnis $ HOME / .ssh erstellen, wenn es nicht existiert.)

Und füge hinzu:

Host *
  GSSAPIAuthentication no
  GSSAPIDelegateCredentials yes

Sie können dies bei Bedarf auf Hostbasis tun :) Beispiel:

Host linux-srv
  HostName 192.158.1.1
  GSSAPIAuthentication no
  GSSAPIDelegateCredentials yes

Stellen Sie sicher, dass die IP-Adresse mit Ihrer Server-IP übereinstimmt. Ein cooler Vorteil ist, dass ssh jetzt die automatische Vervollständigung für diesen Server bereitstellt. Sie können also ssh lin+ Tabeingeben und es sollte automatisch vervollständigt werden ssh linux-srv.

Sie können eine Reihe nützlicher Optionen hinzufügen, damit Sie sie nicht jedes Mal eingeben müssen:

User <a user>
Port <a port number>
IdentityFile <a specific private key>
Compression yes
....

Anstatt also ssh -C -p 1022 -i ~/.hidden/prv-key-4096bit [email protected]einfach ssh linux-srvzu tippen, würde es ausreichen!

Huygens
quelle