SSHD bind to port 22 on 0.0.0.0 failed, address already...

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
AndreasMeier
Beiträge: 373
Registriert: 14.04.2005 06:21:58

SSHD bind to port 22 on 0.0.0.0 failed, address already...

Beitrag von AndreasMeier » 03.06.2009 09:29:31

Hallo zusammen,

auf meinem Server (Debian Etch) läuft SSH als Dienst, ich kann mich per PubKeyAuth einloggen.

Allerdings erhalte ich in den Log-Files immer die Fehlermeldung:

Code: Alles auswählen

Jun  3 08:39:39 server sshd[25591]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 08:39:39 server sshd[25591]: fatal: Cannot bind any address.
Jetzt hab ich hier gelesen, dass man in der /etc/ssh/sshd_config die Zeile:

Code: Alles auswählen

ListenAddress :: 
auf Kommentar setzen soll. In die Config reingeschaut - dort ist die Zeile aber bereits auf Kommentar.

Dann hab ich hier noch gelesen, dass das was mit IPv6 zu tun haben könnte, kann die Anleitung aber für Debian nicht korrekt umsetzen.
Und zwar soll man das hier machen:

Code: Alles auswählen

echo "alias net-pf-10 off" >> /etc/modprobe.conf
Jetzt gibts unter Debian nur das Verzeichnis /etc/modprobe.d und keine .conf-Datei.
Es gibt noch die "aliases"-Datei, aber da steht schon "alias net-pf-10 ipv6" drin.

Jetzt die Frage: ist das der richtige Lösungsansatz, um die Fehlermeldung wegzubringen und wie/wo muss ich das bei Debian eintragen ??

Danke und Gruß
Andreas

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: SSHD bind to port 22 on 0.0.0.0 failed, address already...

Beitrag von uname » 03.06.2009 11:12:09

Es sieht so aus als ob der SSHD schon läuft undn ein zweites Mal gestartet werden soll.

Ist die Fehlermeldung direkt nach dem Booten auch schon da? Hast du manuell an den Diensten was rungetrickst? Durch die Installation von "openssh-server" werden die Startroutinen automatisch eingebaut, Anpassungene sind nicht nötig.

Schau, wie und ob SSH läuft:

Code: Alles auswählen

lsof -c ssh
ps -fax
netstat -tulpen
Was sagt der Befehl "dmesg"?

AndreasMeier
Beiträge: 373
Registriert: 14.04.2005 06:21:58

Re: SSHD bind to port 22 on 0.0.0.0 failed, address already...

Beitrag von AndreasMeier » 03.06.2009 11:50:48

Nee, Anpassungen hab ich nur an der Config vorgenommen, nicht an den Startskripten.
Server und Dienst laufen schon lange.

lsof -c
liefert ein sehr langes Listing. Erstmal mit User root und ein zweites Mal mit User andreas (da ich per SSH angemeldet bin??).
Darum hab ich das jetzt hier nicht gepostet.
Was soll man dadurch sehen? Kann ich die Ausgabe irgendwie knapper darstellen

ps -fax (nur der SSH-Teil):

Code: Alles auswählen

 3251 ?        Ss     0:00 /usr/sbin/sshd
25928 ?        Ss     0:00  \_ sshd: andreas [priv]
25930 ?        S      0:00      \_ sshd: andreas@pts/0
25931 pts/0    Ss     0:00          \_ -bash
25944 pts/0    S      0:00              \_ su
25945 pts/0    S      0:00                  \_ bash
27436 pts/0    R+     0:00                      \_ ps -fax
netstat -tulpen:

Code: Alles auswählen

Proto Recv-Q Send-Q Local Address           Foreign Address         State       Benutzer   Inode      PID/Program name
tcp6       0      0 :::22                :::*                    LISTEN     0          7722       3251/sshd
Auf was soll ich bei dmesg achten?

Danke und Gruß

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: SSHD bind to port 22 on 0.0.0.0 failed, address already...

Beitrag von uname » 03.06.2009 13:07:01

Aufgrund der Prozess-IDs sieht es so aus, dass der SSHD seit Ewigkeiten bereits läuft. Wenn die Meldungen immer wieder auftauchen, so scheint irgendwas zu versuchen den SSHD neu zu starten.

Überprüfe mal ob

Code: Alles auswählen

/etc/run/sshd.pid
den Wert "3251" oder sonstwas enthält.

Stoppe SSH:

Code: Alles auswählen

/etc/init.d/ssh stop
schau in das PID-File und starte neu:

Code: Alles auswählen

/etc/init.d/ssh start

AndreasMeier
Beiträge: 373
Registriert: 14.04.2005 06:21:58

Re: SSHD bind to port 22 on 0.0.0.0 failed, address already...

Beitrag von AndreasMeier » 03.06.2009 13:22:20

Server läuft jetzt seit ca. 48 Tage seit dem letzten Neustart.

In der /var/run/sshd.pid steht die 3251.

Nach dem Stoppen des Dienstes ist die Datei gelöscht.
Nach dem Neustarten hat der Dienst nun die PID 28178.
Fehlermeldungen kamen direkt keine.

AndreasMeier
Beiträge: 373
Registriert: 14.04.2005 06:21:58

Re: SSHD bind to port 22 on 0.0.0.0 failed, address already...

Beitrag von AndreasMeier » 03.06.2009 15:18:37

Leider geht das munter so weiter, trotz Neustart.
Was mich wundert, ist, dass es hier sehr unterschiedliche PIDs gibt:

Code: Alles auswählen

Jun  3 14:06:26 server sshd[28558]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:06:26 server sshd[28558]: fatal: Cannot bind any address.
Jun  3 14:06:26 server sshd[28559]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:06:26 server sshd[28559]: fatal: Cannot bind any address.
Jun  3 14:06:26 server sshd[28560]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:06:26 server sshd[28560]: fatal: Cannot bind any address.
Jun  3 14:06:26 server sshd[28561]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:06:26 server sshd[28561]: fatal: Cannot bind any address.
Jun  3 14:06:26 server sshd[28562]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:06:26 server sshd[28562]: fatal: Cannot bind any address.
Jun  3 14:06:26 server sshd[28563]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:06:26 server sshd[28563]: fatal: Cannot bind any address.
Jun  3 14:06:26 server sshd[28564]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:06:26 server sshd[28564]: fatal: Cannot bind any address.
Jun  3 14:06:26 server sshd[28565]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:06:26 server sshd[28565]: fatal: Cannot bind any address.
Jun  3 14:06:26 server sshd[28566]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:06:26 server sshd[28566]: fatal: Cannot bind any address.
Jun  3 14:06:26 server sshd[28567]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:06:26 server sshd[28567]: fatal: Cannot bind any address.
Jun  3 14:11:27 server sshd[28597]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:11:27 server sshd[28597]: fatal: Cannot bind any address.
Jun  3 14:11:27 server sshd[28598]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:11:27 server sshd[28598]: fatal: Cannot bind any address.
Jun  3 14:11:27 server sshd[28599]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:11:27 server sshd[28599]: fatal: Cannot bind any address.
Jun  3 14:11:27 server sshd[28600]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:11:27 server sshd[28600]: fatal: Cannot bind any address.
Jun  3 14:11:27 server sshd[28601]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:11:27 server sshd[28601]: fatal: Cannot bind any address.
Jun  3 14:11:27 server sshd[28602]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:11:27 server sshd[28602]: fatal: Cannot bind any address.
Jun  3 14:11:27 server sshd[28603]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:11:27 server sshd[28603]: fatal: Cannot bind any address.
Jun  3 14:11:27 server sshd[28604]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:11:27 server sshd[28604]: fatal: Cannot bind any address.
Jun  3 14:11:27 server sshd[28605]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jun  3 14:11:27 server sshd[28605]: fatal: Cannot bind any address.
Jun  3 14:11:27 server sshd[28606]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Listing ist gekürzt. Ich erhalte jede Stunde ne eMail vom Logcheck-Dienst.
Kann es sein, dass ich irgendwo ein "Nicht-Sterben-und-wenn-doch-dann-steh-wieder-auf"-Flag gesetzt ist?

Gruß
Andreas

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: SSHD bind to port 22 on 0.0.0.0 failed, address already...

Beitrag von uname » 03.06.2009 15:38:38

Du könntest mal versuchen dich an die Prozess dranzuhängen.

Versuche:

Code: Alles auswählen

strace -p 28606
Natürlich musst du die Prozess-ID anpassen, könnte etwas schwieriger werden. Öffne ein Fenster mit dem Logfile und eins für den strace-Befehl.

Evtl. lege ein leeres Verzeichnis an und führe den strace-Befehl auch über mehrere Prozesse in diesem Verzeichnis aus. Verzeichnis wird dann mit out.txt-Dateien vollgemüllt.

Code: Alles auswählen

strace -ff -o out.txt -p 28606

AndreasMeier
Beiträge: 373
Registriert: 14.04.2005 06:21:58

Re: SSHD bind to port 22 on 0.0.0.0 failed, address already...

Beitrag von AndreasMeier » 04.06.2009 12:14:19

Das letzte von Dir hab ich jetzt noch nicht ausprobiert.

Ich erhalte im Log auch noch folgendes:

Code: Alles auswählen

Jun  4 10:06:48 server init: Id "ss" respawning too fast: disabled for 5 minutes
Jetzt hab ich hier bzw. im Folgeposting gesehen, dass das auch mit SSH zusammen hängt.
Sieht so aus, als ob ich den sshd in die inittab gesteckt hab.
Hab gerade nachgeschaut - da hab ich folgenden Eintrag drin:
(das war das "Nicht-Sterben-und-wenn-doch-dann-steh-wieder-auf"-Flag, an das ich mich oben dunkel erinnert habe)

Code: Alles auswählen

ss: 12345:respawn: /usr/sbin/sshd -D
Das ist doch dazu da, um den SSH-Dienst am leben zu halten, oder?
Wie muss ich konfigurieren, damit ich die Logeinträge wegbekomme?

Gruß
Andreas

Antworten