Frage sshd-Dienst kann nicht gestartet werden


Ich bin nicht sicher, warum es nicht startet oder warum es mich daran hindert, mich zu verbinden, ich bekomme diesen Fehler:

sshd.service - OpenSSH Daemon
    Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: failed (Result: start-limit) since Wed 2013-09-11 08:45:13 BST; 1min 21s ago
  Process: 701 ExecStart=/usr/bin/sshd -D (code=exited, status=1/FAILURE)

Sep 11 08:45:13 alarmpi systemd[1]: sshd.service: main process exited, code=exited, status=1/FAILURE
Sep 11 08:45:13 alarmpi systemd[1]: Unit sshd.service entered failed state.
Sep 11 08:45:13 alarmpi systemd[1]: sshd.service holdoff time over, scheduling restart.
Sep 11 08:45:13 alarmpi systemd[1]: Stopping OpenSSH Daemon...
Sep 11 08:45:13 alarmpi systemd[1]: Starting OpenSSH Daemon...
Sep 11 08:45:13 alarmpi systemd[1]: sshd.service start request repeated too quickly,    refusing to start.
Sep 11 08:45:13 alarmpi systemd[1]: Failed to start OpenSSH Daemon.
Sep 11 08:45:13 alarmpi systemd[1]: Unit sshd.service entered failed state.

Auf Anraten von #amrith habe ich sshd -t ausgeführt, was anzeigt, dass der Schlüssel nicht generiert wurde. Ich habe dies mit Hilfe von ssh-keygen -A auf den Ratschlag in diesem erzeugt Forum Dann zeigte der Systemstatus, dass ich den Daemon immer noch nicht ausführte. Ich habe den Fehler unten angehängt, leider weiß ich nicht, ho Re-running sshd -t gibt keine Nachrichten jetzt.

sshd.service - OpenSSH Daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: inactive (dead)

Sep 11 12:04:42 alarmpi systemd[1]: Started OpenSSH Daemon.
Sep 11 12:04:42 alarmpi sshd[289]: fatal: Cannot bind any address.
Sep 11 12:04:42 alarmpi systemd[1]: sshd.service: main process exited, code=exited, status=255/n/a
Sep 11 12:04:42 alarmpi systemd[1]: Unit sshd.service entered failed state.
Sep 11 12:04:42 alarmpi systemd[1]: sshd.service holdoff time over, scheduling restart.
Sep 11 12:04:42 alarmpi systemd[1]: Stopping OpenSSH Daemon...
Sep 11 12:04:42 alarmpi systemd[1]: Starting OpenSSH Daemon...
Sep 11 12:04:42 alarmpi systemd[1]: sshd.service start request repeated too quickly, refusing to start.
Sep 11 12:04:42 alarmpi systemd[1]: Failed to start OpenSSH Daemon.
Sep 11 12:04:42 alarmpi systemd[1]: Unit sshd.service entered failed state.

23
2017-09-11 10:22


Ursprung




Antworten:


Versuchen Sie sshd -t (den sshd-Testmodus). Es kann Sie auf einen Grund für einen Fehler hinweisen.

Siehe Dokumentation zum Testmodus Hier.


22
2017-09-11 10:45



Ich wusste nichts über sshd - es hat einiges gelöst. Ich habe gesehen, dass es keine Schlüssel gibt, also habe ich diese generiert, aber keine Würfel beim Neustart und Neustart. - aCoolBean
Dies funktionierte für mich, ich habe "/ etc / ssh / sshd_config Zeile 97: Bad SSH2 mac spec.." - jeremiah
Es hilft, fehlende erforderliche Abhängigkeiten zu finden. Vielen Dank! - Ivan Chau


Das Problem, in unserem Fall war, dass wir einen Nicht-Standard-Port für SSH verwenden. SELinux kann einschränken, welche Ports von einem Dienst verwendet werden können. Scheinbar wird es manchmal verwirrend und vergisst, dass wir diesen Port erlaubt haben?

Wir mussten den folgenden Befehl eingeben, um unseren Port (22222) zur Liste der verfügbaren Ports hinzuzufügen

semanage port -a -t ssh_port_t -p tcp 22222

Referenz: http://sharadchhetri.com/2014/10/15/centos-7-rhel-7-change-openssh-port-number-selinux-enabled/


11
2017-10-16 17:38



Es sollte sein semanage port -a -t ssh_port_t -p tcp 22222 - FrankerZ
Ich habe gerade den Kommentar von @FrankerZ bearbeitet, da die Antwort sonst sinnlos ist. - dreua


Nun, wenn Sie die SSH-Port-Nummer ändern, müssen Sie noch einige Dinge in CentOS 7 tun.

Ändern Sie die ssdh_config-Datei des SSH-Ports

vi /etc/ssh/sshd_config

Zum Beispiel ändern zu: Hafen 2323

SELINUX erlaubt nur Port 22 für ssh. Fügen Sie den neuen Portkontext 2323 hinzu. Wenn Sie nicht installiert haben, tun Sie Folgendes

yum -y install policycoreutils-python
semanage port -a -t ssh_port_t -p tcp 2323

Überprüfen Sie den Portkontext für ssh

semanage port -l | grep ssh

Starten Sie den SSHD-Dienst neu

systemctl restart sshd.service

Fügen Sie den Port der Firewall hinzu

firewall-cmd --permanent --zone=public --add-port=2323/tcp

Firewall neu laden

firewall-cmd --reload

Überprüfen Sie das Zuhören

ss -tnlp|grep ssh

Versuchen Sie erneut, sich über ssh zu verbinden

ssh root@<ipaddr> -p 2323

6
2018-01-22 15:03





Ich hatte auch dieses Problem, aber löste es. Meine Konfiguration ist unten.

PermitRootLogin no
port 22
MaxAuthTries 3
MaxSessions 2
AllowUsers ravikanth
AddressFamily any
ListenAddress 192.168.1.23

Der Dienst konnte nicht gestartet werden, daher habe ich gerade die letzte Zeile auskommentiert (#ListenAddress 192.168.1.23) Dann hat mein Server erfolgreich gestartet.

Hinweis: Ich habe die Firewall (iptables) und SELinux ausgeschaltet.


3
2018-06-02 05:52





Cannot bind any address

Wenn es versucht, an einen Port (z. B. standardmäßig 22) unterhalb von 1024 zu binden, benötigt es root-Rechte, um dies zu tun. Bist du gerannt service sshd start oder so etwas als root? Versuchen Sie, die sshd.conf-Konfigurationsdatei zu bearbeiten, setzen Sie die Bind-Adresse auf einen Port größer als 1024 (z. B. 1122) und führen Sie sie als einfacher Benutzer aus!


1
2017-09-11 12:04





Sie können versuchen, die folgende Einstellung zu verwenden:

RestartSec=5s

Dadurch wird Ihre Anwendung vor einem Neustart für 5 Sekunden inaktiviert. Sie können natürlich die Anzahl der Einstellungen variieren.

Sehen Hier für Details:


1
2017-10-27 20:18



Ich habe diese Antwort aktualisiert, weil sie hilfreiche Informationen darüber enthält, wie das Problem behoben werden kann, wenn das Problem in Systemd und nicht im eigentlichen Dienst auftritt (sshd im OP-Fall). Ich hatte Dienste mit Neustart = immer scheitern und nicht mehrmals neu gestartet werden. Diese Antwort könnte dieses Problem mit Systemd lösen. (Obwohl es nicht direkt mit der OP-Frage zusammenhängt). - MattBianco


Ich hatte das gleiche Problem und die einfachste Lösung, die ich durchmachte, war zu entfernen openssh und installiere es erneut.

 yum remove openssh

und dann:

 yum install openssh openssh-server openssh-clients

dann kannst du anfangen sshd Bedienung:

 service sshd start

1
2018-03-16 15:24