La connexion à l'un de mes serveurs à l'aide de ssh nécessite plus de 20 secondes pour être initiée.
Cela n’est pas lié aux conditions LAN ou WAN, car la connexion à lui-même prend la même chose (ssh localhost). Une fois la connexion établie, l’interaction avec le serveur est très rapide.
L'utilisation de -vvv montre que la connexion est bloquée après avoir dit "gage: réseau". A ce stade, l'authentification (ici en utilisant la clé) est déjà faite, comme visible ici:
...
debug1: Authentication succeeded (publickey).
Authenticated to myserver.mydomain.com ([xx.xx.xx.xx]:22).
debug1: channel 0: new [client-session]
debug2: channel 0: send open
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: pledge: network
(... coincé ici pendant 15 à 25 secondes ...)
debug1: client_input_global_request: rtype [email protected] want_reply 0
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug2: client_session2_setup: id 0
...
Le serveur est Ubuntu 16.04. Cela m'est déjà arrivé par le passé avec un autre serveur (Ubuntu 12.04), nerver a trouvé la solution et le problème a disparu au bout d'un moment ...
sshd_config est celui par défaut fourni par Ubuntu.
Jusqu'ici j'ai essayé:
- en utilisant -o GSSAPIAuthentication = no dans la commande ssh
- en utilisant un mot de passe au lieu d'une clé
- en utilisant UsePrivilegeSeparation no au lieu de yes, dans sshd_config
systemctl restart systemd-logind
résout le problème que pour une courte période de temps pour moi.pam_systemd(sshd:session): Failed to create session: Connection timed out
qui est mentionné dans une réponse, cela pourrait être github.com/systemd/systemd/issues/2925Réponses:
Ceci est probablement un problème avec
D-Bus
etsystemd
. Si ledbus
service est redémarré pour une raison quelconque, vous devrez également redémarrersystemd-logind
.Vous pouvez vérifier si cela est le problème en ouvrant le journal du démon ssh (sur Ubuntu, cela devrait être le cas
/var/log/auth.log
) et vérifiez s'il contient les lignes suivantes:Si oui, redémarrez simplement le
systemd-logind
service:J'ai eu ce même problème sur CentOS 7, car le a
messagebus
été redémarré (c'est comment leD-Bus
service est appelé sur CentOS).la source
polkit
service avecsystemctl restart polkit
.trouvé la réponse:
modifié UsePAM de oui à non dans le fichier sshd_config
Après avoir redémarré le service ssh, la connexion est maintenant immédiate sur le serveur. Sur ce serveur, PAM est lié à ldap, ce qui explique probablement pourquoi, même si je me connecte ici à un utilisateur déclaré sur le serveur lui-même, pas à un utilisateur LDAP.
Eh bien, c’est plus une façon de contourner le problème, pas vraiment une solution… J’ai d’autres serveurs configurés de la même manière qui n’ont pas ce problème.
J'espère que cela pourra aider quelqu'un ...
la source
Cela s'est produit sur deux de mes serveurs Fedora 25 et était dû à de nombreuses tentatives de connexion SSH ayant échoué.
(Les suggestions courantes d'utilisation
GSSAPIAuthentication=no
et deUseDNS=no
redémarragesystemd-logind
ne font aucune différence.)Sur ces serveurs,
/etc/pam.d/postlogin
contient:La page de manuel pour
pam_lastlog
explique que l’showfailed
option va:Sur ces serveurs, les
/var/log/btmp
fichiers étaient énormes en raison de nombreuses tentatives de connexion infructueuses. Lesbtmp
fichiers journaux n'étaient pas non plus en rotation.J'ai installé le
logrotate
package pour assurer la rotation des fichiers journaux à l'avenir. (Sur Fedora, la configuration livrée aveclogrotate
gère la rotation de/var/log/btmp
.)J'ai également supprimé les énormes
btmp
fichiers journaux; Dès que j'ai fait cela, la connexion aux serveurs était de nouveau instantanée.la source
sudo truncate -s 0 /var/log/btmp
- Le mien avait une taille de 2,7G.Dans mon cas, la raison était un plantage de rsyslogd. J'ai découvert cela parce qu'il n'y avait plus de messages de journalisation dans, par exemple, / var / log / syslog ou /var/log/mail.log
Alors
service rsyslog restart
résolu le problème pour nous.la source
Pour moi, ce problème est causé par un
btmp
fichier volumineux (des centaines de Mo) . Ce fichier enregistre les tentatives de connexion. Lorsque les gens essaient de forcer brutalement votre mot de passe, ce fichier peut être volumineux et causer des retards dans la"pledge: network"
phase.Essayez d'effacer le fichier journal
echo "" > /var/log/btmp
et voir si ça aide.
la source
:> /var/log/btmp
Conseil : il suffit de taper pour faire la même chose.Pour moi, la solution consistait à ajouter
sur
/etc/ssh/sshd_config
et puis bien sûrservice ssh restart
(sur notre serveur Debian / Jessie). Rien d'autre...avant :
après :
la source
UseDNS no
est une solution à un problème complètement différent.sign_and_send_pubkey
, un plus long aprèspledge: network
. Ajouter uniquementUseDNS no
par la suiteservice ssh restart
a résolu le problème sur une ancienne installation Ubuntu 14.04.5 LTS ici.J'ai remarqué la ligne suivante dans mes commentaires de débogage:
Qui était un fichier qui appartenait à
root:root
pendant que je suisjenkins
. Supprimer ce fichier a résolu mes problèmes.la source