long délai lors de la connexion avec CentOS7

15

J'ai un système CentOS 7 et lorsque je me connecte avec putty ou ssh, il y a un long délai avant d'obtenir l'invite de mot de passe. J'ai exécuté ssh -v et j'ai trouvé que cela se résume à ceci:

debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received

puis il reste là pendant 1-2 minutes, puis cette sortie explose:

debug1: Authentications that can continue:
publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
No Kerberos credentials available
debug1: Unspecified GSS failure.  Minor code may provide more information
No Kerberos credentials available
debug1: Unspecified GSS failure.  Minor code may provide more information
debug1: Unspecified GSS failure.  Minor code may provide more information
No Kerberos credentials available
debug1: Next authentication method: publickey
debug1: Trying private key: /home/motor/.ssh/id_rsa
debug1: Trying private key: /home/motor/.ssh/id_dsa
debug1: Trying private key: /home/motor/.ssh/id_ecdsa
debug1: Trying private key: /home/motor/.ssh/id_ed25519
debug1: Next authentication method: password

Et puis l'invite de mot de passe apparaît. Cela se produit quel que soit l'utilisateur qui se connecte. Cela se produit uniquement sur le système 1. J'en ai 5 autres où ça se passe sans tarder.

Il n'y a pas de disque ou de mémoire ou toute autre erreur dans les journaux.

Qu'est-ce qui pourrait le retarder comme ça?

MISE À JOUR:

J'ai essayé de régler GSSAPIAuthenticationsur non et cela n'a pas résolu le problème.

J'ai relancé ssh, cette fois avec -vvv. Cette sortie est sortie, puis elle s'est bloquée:

debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /home/motor/.ssh/id_rsa ((nil)),
debug2: key: /home/motor/.ssh/id_dsa ((nil)),
debug2: key: /home/motor/.ssh/id_ecdsa ((nil)),
debug2: key: /home/motor/.ssh/id_ed25519 ((nil)),

Après 1-2 minutes, cela est sorti:

debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/motor/.ssh/id_rsa
debug3: no such identity: /home/motor/.ssh/id_rsa: No such file or directory
debug1: Trying private key: /home/motor/.ssh/id_dsa
debug3: no such identity: /home/motor/.ssh/id_dsa: No such file or directory
debug1: Trying private key: /home/motor/.ssh/id_ecdsa
debug3: no such identity: /home/motor/.ssh/id_ecdsa: No such file or directory
debug1: Trying private key: /home/motor/.ssh/id_ed25519
debug3: no such identity: /home/motor/.ssh/id_ed25519: No such file or directory
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password

Et puis l'invite de mot de passe.

Larry Martell
la source

Réponses:

16

Dans votre /etc/ssh/sshd_configserveur distant, vous devez modifier l'option GSSAPIAuthenticationsur non. Redémarrez sshd et vous devriez être prêt à partir.

edit: GSSAPI (Generic Security Service Application Programming Interface) est essentiellement une API qui utilise les bibliothèques Kerberos pour fournir un cryptage réseau puissant. À moins qu'il n'y ait une raison particulière pour laquelle vous avez besoin que GSSAPI soit activé, cette méthode devrait résoudre le problème que vous rencontrez.

edit2: Pour plus de clarté, il peut également être possible que la vérification DNS inverse expire (en particulier la vérification de l'enregistrement PTR des hôtes se connectant). SSH effectue cette vérification d'office car il s'agit d'une mesure de sécurité pour valider l'hôte qui se connecte.

Cela dit, le processus n'ajoute pas grand-chose en termes de sécurité réelle, car de manière réaliste, il existe une proportion importante d'hôtes qui n'ont pas de PTR de toute façon. Il existe trois façons de résoudre ce problème:

1). Vous pouvez modifier le sshd_configfichier pour utiliser le UseDNS noparamètre. Cela arrêtera la recherche DNS inversée. C'est sûr à faire.

2). Ajoutez un enregistrement PTR dans le système DNS approprié pour l'hôte qui se connecte lentement.

3). Ajoutez une entrée manuelle dans le hostsfichier OS avec l'entrée appropriée.

J'espère que cela pourra aider!

Brett Levene
la source
1
Cela n'a pas résolu le problème. Il y a encore du retard. Je mettrai à jour mon message d'origine avec plus d'informations.
Larry Martell
6
Ce peut être la recherche DNS inversée qui prend son temps; vous pouvez essayer d'ajouter UseDNS nole fichier sshd_config et recharger le service pour voir si cela fait une différence.
Brett Levene
Je ne pourrai essayer cela que la semaine suivante. Je vous ferai savoir comment ça se passe. Merci.
Larry Martell
2
Oui, c'était le problème. L'utiliser a UseDNS nocorrigé et supprimé le retard. Merci.
Larry Martell
4

Cela ressemble à un problème DNS - lors d'une tentative de connexion, une recherche DNS inversée est effectuée pour fournir le nom d'hôte distant dans les journaux d'authentification.

Vérifiez que le serveur n'a pas de résolveur qui ne répond pas dans le /etc/resolv.conffichier.

Admin
la source
Oui, c'était le problème. La correction de ce problème a supprimé le retard. Merci!
Larry Martell
Larry, je suis content que cela ait résolu le problème. Pourriez-vous sélectionner cette réponse comme réponse acceptée? Merci et bonne chance dans vos projets futurs.
Admin
J'ai choisi la réponse donnée par Brett Levene comme il a répondu devant vous.
Larry Martell