Ich habe einen laufenden Ubuntu Server 10.04.1. Als ich versuchte, mich über ssh am Server anzumelden, konnte ich nicht. Stattdessen habe ich connection refused
Fehler bekommen. Ich habe versucht, die Maschine anzupingen und bekam eine Antwort! Der eindeutige Grund dafür ist, dass der SSH-Daemon gestoppt ist.
Nach dem Neustart konnte ich mich über ssh auf meinem Server anmelden. Nach einiger Zeit sah ich in meinen Protokollen nach /var/log/syslog
und fand die folgenden Aufzeichnungen:
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2465) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2469) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2473) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2477) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2481) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2485) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2489) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2493) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2497) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2501) terminated with status 255
Jan 16 10:57:09 myserver init: ssh respawning too fast, stopped
Ich habe nach einem ähnlichen Problem / einer ähnlichen Lösung gesucht. Einige Leute sagten , dass dies durch die SSH - Daemon verursacht wird versucht , bevor zu starten Vernetzung und schlagen sie vor , Änderungen ListenAddress
in /etc/ssh/sshd_config
sein 0.0.0.0
. Ich denke, dies ist nicht die Ursache in meinem Fall, da mein Problem auftritt, nachdem das System betriebsbereit ist.
Irgendeine Idee, was das verursacht? Dies ist Ubuntu Server, und es sollte ausgeführt werden und über SSH remote zugegriffen werden können.
AKTUALISIEREN:
Hier ist das Log-Snippet, das ich gefunden habe /var/log/auth.log
.
Jan 16 10:56:38 myserver sudo: user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/usr/bin/vim /etc/ssh/sshd_config
Jan 16 10:57:09 myserver sudo: user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/etc/init.d/ssh reload
Jan 16 10:57:09 myserver sshd[1465]: Received SIGHUP; restarting.
Jan 16 10:57:09 myserver sshd[2461]: Server listening on 0.0.0.0 port 22.
Jan 16 10:57:09 myserver sshd[2465]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2465]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2469]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2469]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2473]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2473]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2477]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2477]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2481]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2481]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2485]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2485]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2489]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2489]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2493]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2493]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2497]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2497]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2501]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2501]: fatal: Cannot bind any address.
Es scheint, dass dieser Fehler auftrat, nachdem ich den SSH-Daemon neu geladen hatte. Sollte ich vermeiden, stattdessen zu verwenden ssh reload
und zu verwenden ssh restart
?
Antworten:
Sie sollten nachsehen, was passiert ist, kurz bevor SSH ins Wanken gerät
syslog
. Wenn das Netzwerk-Subsystem ausfällt, kann dies erklären, warum dersshd
Fehler aufgetreten ist.Ich würde es auch überprüfen
/var/log/auth.log
. Es istsshd
das Protokoll und es könnte eine bessere Fehlermeldung geben.quelle
auth.log
Datei gefunden und meine Frage aktualisiert.reload
sollte eine gültige Aktion sein. Es sollte einen internen Neustart auslösen (und es scheint, dass dies versucht wurde und gerade hängen geblieben ist). Versuchen Sie es erneut und versuchen Sie es erneut.Ich hatte gerade das gleiche Problem an meiner 12.04 Box. Dh die gleichen Symptome. Leider passierte es immer, wenn ich die
ListenAddress
Klausel mit deninet
undinet6
-Adressen in einführtesshd_config
. Kurz gesagt, dies scheint ein Symptom für eine fehlerhafte Form zu seinsshd_config
- obwohl die Protokolldateien so etwas nicht aussagten.Fehlerbehebung
sshd
Was ich in solchen Fällen im Allgemeinen sehr nützlich finde, ist zu beginnen,
sshd
ohne es dämonisieren zu lassen. Das Problem in meinem Fall war, dass weder etwas Sinnvolles gezeigtsyslog
nochauth.log
gezeigt wurde.Als ich es vom Terminal aus startete, bekam ich:
Viel besser! Mit dieser Fehlermeldung konnte ich sehen, was falsch ist, und es beheben. Keine der Protokolldateien enthielt diese Ausgabe.
Hinweis: Zumindest unter Ubuntu
$(which sshd)
ist dies die beste Methode, um diesshd
Anforderung eines absoluten Pfades zu erfüllen . Andernfalls werden Sie die folgende Fehlermeldung erhalten:sshd re-exec requires execution with an absolute path
. Die-p 10222
Markensshd
hören an diesem alternativ Port, die Konfigurationsdatei überschreiben - dies ist so , dass es nicht mit potenziell laufen kollidiertsshd
Instanzen. Stellen Sie sicher, dass Sie hier einen freien Port auswählen.Diese Methode hat mir schon oft bei der Suche nach Problemen geholfen, sei es bei der Authentifizierung oder bei anderen Problemen. Um eine wirklich ausführliche Ausgabe zu erhalten
stdout
, verwenden Sie$(which sshd) -Ddddp 10222
(beachten Sie den Zusatzdd
, um die Ausführlichkeit zu erhöhen). Weitere Informationen zur Fehlerbehebung finden Sie unter Güteprüfungman sshd
.Der Hauptvorteil dieser Methode besteht darin, dass Sie die
sshd
Konfiguration überprüfen können , ohnesshd
den Standardport neu starten zu müssen. Normalerweise sollte dies nicht die bestehenden SSH-Verbindungen stören, aber ich habe es gesehen. Auf diese Weise kann die Konfigurationsdatei überprüft werden, bevor - möglicherweise - der Zugriff auf einen Remoteserver gesperrt wird (z. B. bei einigen VPS und sogar bei physischen Servern, bei denen ich zusätzliche Gebühren für den Out-of-Band-Zugriff entrichten muss) zur Maschine).quelle
Dies scheint das Ergebnis des Fehlers # 687535 zu sein, der kürzlich in natty behoben wurde und als vorgeschlagenes Update sowohl auf maverick als auch auf lucid hochgeladen wurde.
https://bugs.launchpad.net/ubuntu/lucid/+source/openssh/+bug/687535
Ich möchte alle dazu ermutigen, dorthin zu gehen, den Testfall auszuprobieren (nach TESTFALL suchen) und Ihre Ergebnisse vor und nach der Installation des vorgeschlagenen Fixes zu veröffentlichen. Dies hilft dem SRU-Team bei der Entscheidung, ob die Überprüfung durchgeführt wurde, und gibt sie als Update frei.
quelle
In
/etc/ssh/sshd_config
, stellen Sie sicher , dass alle Ja und keine Optionen in Kleinbuchstaben sind. Wenn Sie beispielsweise festlegen,PermitRootLogin No
wird ssh nicht gestartet. Es muss tatsächlich so seinPermitRootLogin no
.quelle
Ich hatte nach dem Neustart ein ähnliches Problem mit einem Ubuntu 11.10-Image auf einem Linode. SSH-Dienst würde in Syslog produzieren:
Es handelt sich um eine Testbox mit einer Betriebszeit von ca. 60 Tagen. Auf diesem Weg habe ich also irgendwo etwas installiert, das am Ende von sshd_config angehängt ist:
Durch das Kommentieren dieser Zeilen konnte ssh beginnen.
quelle
Ubuntu ssh konnte nicht gestartet werden und Syslog lieferte "init: ssh main process (2044) terminated with status 255"
/ usr / sbin / sshd -Ddp 10222
Sicher hat bei mir gearbeitet, um den Zeilenfehler sshd_config zu ermitteln
quelle
habe das gleiche Problem, obere Lösung funktioniert nicht, aber ich habe eine Lösung dafür.
Der Pfad ist gemäß Dokument in Ordnung, daher führe ich sshd manuell aus.
Die Berechtigung / var / run / sshd lautet.
dann ist es in Ordnung. starte ssh localhost und überprüfe.
quelle
sshd
Betriebssysteme nicht richtig ausgeführt werden, wie Sie an den sehr unterschiedlichen Fehlermeldungen in ihren Protokollen erkennen können. -1