Pourquoi l'invite de mot de passe de ssh prend-elle tant de temps à apparaître?

86

Lorsque j'essaie de ssh , l'invite de mot de passe prend trop de temps (presque deux minutes) pour apparaître.

Pourquoi cela se produit-il?

    
posée Neuquino 22.01.2013 - 21:55
la source

8 réponses

135

Il y a plusieurs choses qui peuvent mal tourner. Ajoutez -vvv pour que ssh imprime une trace détaillée de ce qu'il fait et voyez où il est en pause.

Le problème peut être sur le client ou sur le serveur.

Un problème courant sur le serveur est si vous vous connectez à partir d’un client pour lequel le délai d’examen DNS est dépassé. (Une "recherche DNS inversée" signifie revenir de l'adresse IP de la machine cliente à un nom d'hôte. Ce n'est pas vraiment utile pour la sécurité, seulement un peu utile pour diagnostiquer les tentatives d'interruption, mais la configuration par défaut le fait.) Pour désactiver les recherches DNS inverses, ajoutez UseDNS no à /etc/ssh/sshd_config (vous devez être root sur le serveur; n'oubliez pas de redémarrer le service SSH par la suite).

Une autre chose qui peut aller mal est GSSAPI expiration de l'authentification. Si vous ne savez pas ce que c'est, vous ne comptez probablement pas sur elle; Vous pouvez la désactiver en ajoutant la ligne GSSAPIAuthentication no à /etc/ssh/ssh_config ou ~/.ssh/config (qui se trouve du côté client).

    
réponse donnée Gilles 22.01.2013 - 22:15
la source
12

Laissez le temps au processus de connexion et voyez combien de temps cela prendra:

[[email protected] ~]# time ssh [email protected]
[email protected]'s password:
Last login: Fri Oct  4 07:55:03 2013 from 3.60.40.232

[[email protected] ~]# exit
logout
Connection to ISSLABNTL01 closed.

real    0m45.192s
user    0m0.003s
sys     0m0.005s

You have new mail in /var/spool/mail/root
[[email protected] ~]#

Voir ci-dessus, il a fallu environ 45 secondes pour se connecter -------- TRES LENT

Une fois que vous vous êtes connecté en tant que root, éditez le fichier sshd_config et modifiez l'entrée UseDNS comme ci-dessous. Ici, j'utilise sed au lieu d'éditer le fichier.

[[email protected] ~]# grep -i dns /etc/ssh/sshd_config
#UseDNS yes

[[email protected] ~]# sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
[[email protected] ~]# grep -i dns /etc/ssh/sshd_config
UseDNS no

[[email protected] ~]# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]
[[email protected] ~]# exit

Laissez-nous chronométrer le processus de connexion et voir maintenant combien de temps cela prendra.

[[email protected] ~]# time ssh [email protected]
[email protected]'s password:
Last login: Fri Oct  4 07:55:03 2013 from 3.60.40.232

[[email protected] ~]# exit
logout

Connection to ISSLABNTL01 closed.

real    0m6.192s
user    0m0.003s
sys     0m0.005s

You have new mail in /var/spool/mail/root
[[email protected] ~]#

Voyez que cela a pris 6 secondes, le temps de taper le mot de passe.

    
réponse donnée Mamadou Lamine Diatta 04.10.2013 - 14:39
la source
4

C'est quelque chose qui ne va pas de l'installation d'Ubuntu.

Pour résoudre ce problème, vous devez modifier cette ligne dans /etc/nsswitch.conf :

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

Et change le pour celui-ci:

hosts:          files dns
    
réponse donnée Neuquino 22.01.2013 - 21:55
la source
4

Dans mon cas, le problème peut être résolu en redémarrant systemd-logind :

systemctl restart systemd-logind

Ceci est mentionné sur Serverfault .

Je dois le faire régulièrement cependant, et je ne sais pas quelle est la cause du problème.

    
réponse donnée Candid Dauth 22.04.2016 - 19:01
la source
1

La sortie de débogage de ssh dans mon cas s’est arrêtée pendant 30 secondes alors qu’elle se "connectait". La solution s'est avérée être liée aux paramètres DNS de mon système local. Une configuration réseau précédente avait laissé un serveur DNS bidon dans le fichier /etc/resolv.conf . Le remplacer par un serveur DNS actuel a résolu le problème.

    
réponse donnée ErikWeitenberg 25.07.2014 - 18:29
la source
0

Pour moi, changer le système DNS en 127.0.0.1, avant c'était un hôte non existant.

nano /etc/resolv.conf

Et écrivez ce qui suit

domain localdomain
search localdomain
(Removed this line) ===> nameserver 10.0.0.1
(Added this line) ===> nameserver 127.0.0.1
    
réponse donnée Alireza 07.12.2013 - 06:51
la source
0

Je ne connais pas autant l'environnement de l'affiche que je le souhaite, mais pour d'autres avec un problème similaire, cela peut poser problème avec sssd , que nous utilisons pour ldd mojo.

Cela m'arrive:

$ time ssh server.example.com

real  2m0.018s
user  0m0.006s
sys   0m0.004s

Je dois accéder au serveur (dans mon cas via la console) puis faire un:

service restart sssd

Après cela, les choses fonctionnent juste. Je n'ai pas eu le temps de déboguer la cause profonde, mais ce pansement fonctionne pour moi.

    
réponse donnée KurtB 15.09.2014 - 20:36
la source
0

Je pourrais résoudre l'invite mot de passe lent via ssh - en cochant Activer le relais DNS dans les paramètres DHCP de mon routeur dlink. Les connexions avec SSH ont ensuite fonctionné en une seconde.

Network Settings -> Router Settings -> Enable DNS Relay [x]

La configuration par défaut transfère chaque requête DNS au fournisseur. C'était lent bien que je me connectais avec ssh [email protected] Un indice de la solution était une entrée dans /etc/resolv.conf "search upc.at" fournie via DHCP.

Le manuel dlink indique:

When DNS Relay is enabled, DHCP clients of the router will be assigned 
the router's LAN IP address as their DNS server. All DNS requests that 
the router receives will be forwarded to your ISPs DNS servers. 
When DNS relay is disabled, all DHCP clients of the router will 
be assigned the ISP's DNS server.

Après une version DHCP sur le client et le serveur, la connexion via SSH a été rapide. HTH.

    
réponse donnée domih 19.06.2015 - 21:11
la source

Lire d'autres questions sur les étiquettes