Je viens d'installer Ubuntu 11.10, et chaque fois que j'essaie de SSH sur mes serveurs, c'est très lent. Avant d'afficher l'invite de mot de passe, cela peut prendre entre 40 et 60 secondes.
J'utilise:
ssh [email protected]
Une fois connecté, tout va bien et ça marche vite.
Pourquoi cela prend-il si longtemps et comment puis-je le réparer? Existe-t-il des options dans la commande SSH que je peux utiliser?
Ceci est lent car le démon OpenSSH utilise DNS pour exécuter une recherche inversée sur le nom d'hôte du client afin de s'assurer de sa validité.
Sudo vi /etc/ssh/ssh_config
Commentez les lignes suivantes
#GSSAPIAuthentication yes
#GSSAPIDelegateCredentials no
OR
ajoute ça:
UseDNS no
Ceci est juste un complément de la réponse de Book Of Zeus. Si vous n'avez pas d'accès root (Sudo), vous pouvez toujours le configurer.
Vous devez éditer votre fichier "user ssh_config" qui est:
vi $HOME/.ssh/config
(Remarque: vous devrez créer le répertoire $ HOME/.ssh s'il n'existe pas)
Et ajouter:
Host *
GSSAPIAuthentication no
GSSAPIDelegateCredentials yes
Vous pouvez le faire sur une base par hôte si nécessaire :) exemple:
Host linux-srv
HostName 192.158.1.1
GSSAPIAuthentication no
GSSAPIDelegateCredentials yes
Assurez-vous que l'adresse IP correspond à l'adresse IP de votre serveur. Un avantage intéressant est que ssh fournira maintenant la saisie semi-automatique pour ce serveur. Donc, vous pouvez taper ssh lin
+ Tab
et il devrait compléter automatiquement à ssh linux-srv
.
Vous pouvez ajouter de nombreuses options utiles pour ne pas avoir à les saisir à chaque fois:
User <a user>
Port <a port number>
IdentityFile <a specific private key>
Compression yes
....
Donc, au lieu de taper ssh -C -p 1022 -i ~/.hidden/prv-key-4096bit [email protected]
, un simple ssh linux-srv
suffirait!