Die Herstellung einer Verbindung zu einem meiner Server mit ssh dauert mehr als 20 Sekunden.
Dies hat nichts mit LAN- oder WAN-Bedingungen zu tun, da die Verbindung zu sich selbst dasselbe erfordert (ssh localhost). Nachdem die Verbindung hergestellt wurde, ist es superschnell, mit dem Server zu kommunizieren.
Die Verwendung von -vvv zeigt an, dass die Verbindung nach dem Aussprechen von "pledge: network" blockiert ist. Zu diesem Zeitpunkt ist die Authentifizierung (hier mit Schlüssel) bereits erfolgt, wie hier zu sehen:
...
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
(... hier für 15 bis 25 Sekunden stecken ...)
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
...
Server ist Ubuntu 16.04. Es ist mir schon in der Vergangenheit mit einem anderen Server passiert (war Ubuntu 12.04), nerver fand die Lösung und das Problem verschwand nach einer Weile ...
sshd_config ist die Standardeinstellung von Ubuntu.
Bisher habe ich versucht:
- Verwenden von -o GSSAPIAuthentication = no im Befehl ssh
- mit Passwort anstelle eines Schlüssels
- using UsePrivilegeSeparation no statt yes in sshd_config
systemctl restart systemd-logind
behebt das problem nur für kurze zeit für mich.pam_systemd(sshd:session): Failed to create session: Connection timed out
wie in einer Antwort erwähnt, könnte dies github.com/systemd/systemd/issues/2925Antworten:
Dies ist wahrscheinlich ein Problem mit
D-Bus
undsystemd
. Wenn derdbus
Dienst aus irgendeinem Grund neu gestartet wird, müssen Sie auch neu startensystemd-logind
.Sie können überprüfen, ob dies das Problem ist, indem Sie das ssh-Daemon-Protokoll öffnen (unter Ubuntu sollte es das sein
/var/log/auth.log
) und prüfen, ob es die folgenden Zeilen enthält:Wenn ja, starten Sie den
systemd-logind
Dienst einfach neu :Ich hatte das gleiche Problem unter CentOS 7, weil das
messagebus
neu gestartet wurde (so wird derD-Bus
Dienst unter CentOS aufgerufen).quelle
polkit
Dienst mit neu startensystemctl restart polkit
.fand die Antwort:
UsePAM wurde in der Datei sshd_config von yes in no geändert
Nach dem Neustart des SSH-Dienstes ist die Verbindung zum Server sofort hergestellt. Auf diesem Server ist PAM mit ldap verknüpft. Dies ist wahrscheinlich der Grund, auch wenn ich hier eine Verbindung mit einem Benutzer herstelle, der auf dem Server selbst deklariert ist, und nicht mit einem LDAP-Benutzer.
Nun, dies ist eher eine Möglichkeit, das Problem zu umgehen, nicht wirklich eine Lösung ... Ich habe andere Server auf die gleiche Weise eingerichtet, auf die dieses Problem nicht zutrifft.
Hoffe das kann jemandem helfen ...
quelle
Dies geschah auf zwei meiner Fedora 25-Server und war auf viele fehlgeschlagene SSH-Anmeldeversuche zurückzuführen.
(Die allgemeinen Vorschläge für die Verwendung
GSSAPIAuthentication=no
undUseDNS=no
/ oder den Neustartsystemd-logind
machten keinen Unterschied.)Auf diesen Servern
/etc/pam.d/postlogin
enthält:Die Manpage für
pam_lastlog
erklärt, dass dieshowfailed
Option:Auf diesen Servern waren die
/var/log/btmp
Dateien aufgrund vieler fehlgeschlagener Anmeldeversuche enorm. Diebtmp
Protokolldateien wurden ebenfalls nicht gedreht.Ich habe das
logrotate
Paket installiert , um sicherzustellen, dass die Protokolldateien in Zukunft gedreht werden. (Auf Fedora regelt die Konfiguration, mitlogrotate
der ausgeliefert wird, die Drehung von/var/log/btmp
.)Ich habe auch die riesigen
btmp
Logdateien gelöscht ; Sobald ich dies tat, war die Verbindung zu den Servern sofort wieder hergestellt.quelle
sudo truncate -s 0 /var/log/btmp
- Meine war 2,7 g groß.In meinem Fall war der Grund ein abgestürztes rsyslogd. Ich habe das herausgefunden, weil es keine weiteren Logmeldungen in zB / var / log / syslog oder /var/log/mail.log gab
So
service rsyslog restart
löste sich das Problem für uns.quelle
Für mich wird dieses Problem durch eine große
btmp
Datei (Hunderte von MB) verursacht . Diese Datei protokolliert Anmeldeversuche. Wenn Leute versuchen, Ihr Passwort brutal zu erzwingen, kann diese Datei groß sein und Verzögerungen in der"pledge: network"
Phase verursachen.Versuchen Sie, die Protokolldatei zu löschen
echo "" > /var/log/btmp
und sehen, ob es hilft.
quelle
:> /var/log/btmp
tipp : Einfach nur tippen geht übrigens genauso.Für mich fügte die Lösung hinzu
zum
/etc/ssh/sshd_config
und dann natürlichservice ssh restart
(auf unserem Debian / Jessie-Server). Nichts anderes...vorher :
nachher :
quelle
UseDNS no
ist eine Lösung für ein völlig anderes Problem.sign_and_send_pubkey
, eine nach der anderenpledge: network
. Das Hinzufügen nurUseDNS no
mit anschließendemservice ssh restart
löste das Problem auf einer alten Ubuntu 14.04.5 LTS-Installation hier.In meinem Debug-Feedback ist mir folgende Zeile aufgefallen:
Welches war eine Datei, die gehört,
root:root
während ich binjenkins
. Durch das Entfernen dieser Datei wurden meine Probleme behoben.quelle