Fonctionnement ssh user@hostname
prend ~ 30s. Voici le scénario:
[mise à jour]
En utilisant ssh -vvv user@hostname
, voici où ça attend le plus:
debug3: authmethod_lookup gssapi-with-mic
debug3: remaining preferred: publickey,keyboard-interactive,password
debug3: authmethod_is_enabled gssapi-with-mic
debug1: Next authentication method: gssapi-with-mic
Et puis ça attend un peu ici:
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found
Modifiez votre "/ etc/ssh/ssh_config" et commentez ces lignes:
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
J'ai eu ce problème et je l'ai résolu en désactivant la résolution DNS inversée dans SSH.
Donc, dans sshd_config
sur le serveur changez ceci:
#UseDNS yes
pour ça:
UseDNS no
Avez-vous vérifié votre configuration DNS?
Essayez le paramètre mdns off
dans /etc/Host.conf
.
Cela désactive la résolution mdns et m'a beaucoup aidé.
ÉDITER:
Il semble que Gentoo gère cela un peu différemment. Pour désactiver les recherches DNS multicast, vous devez modifier le fichier /etc/nsswitch.conf
.
Il devrait y avoir quelque chose comme:
hosts: files mdns
Changez-le en:
hosts: files dns
Ajout du nom d'hôte à /etc/hosts
peut parfois résoudre ce problème.
Vérifiez également si nscd
est installé et fonctionne.
Ne pas avoir de cache DNS peut augmenter le temps nécessaire pour résoudre l'enregistrement PTR (en supposant que le client ssh effectue une recherche inversée DNS pour l'adresse IP du serveur)
J'ai le même problème dans l'environnement Windows 2008 R2 mais "useDNS no" ne fonctionne pas.
J'essaie d'ajouter au fichier hosts l'IP et l'hôte du serveur de connexion et son plus rapide de 30 secondes. Ce qui me fait penser que la résolution pourrait être en DNS.
J'essaie d'ajouter des serveurs DNS mais cela ne le résout pas.
Mon serveur a deux suffixes DNS. 1 pour le domaine d'entreprise auquel appartient le serveur (domain.com) et l'autre pour son interface externe se connectant à un réseau privé (domain.net).
L'ordre des suffixes DNS est domain.net d'abord puis domain.com ensuite
Mes clients SFTP/SSH appartiennent au domaine de l'entreprise. Soit dit en passant, les clients problématiques proviennent du domaine de l'entreprise.
Ce qui fonctionne pour moi, c'est que je crée d'abord domain.com, puis domain.net ensuite.
Le délai de connexion de 2m30s avant est devenu 3-4s seulement.