il servizio sshd non si avvia


27

Non sono sicuro del motivo per cui non si avvia o perché mi impedisce di connettermi, ricevo questo errore:

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.

Su consiglio di #amrith ho eseguito sshd -t che indicava che la chiave non era stata generata. Ho generato questo usando ssh-keygen -A nei consigli forniti in questo forum, quindi eseguire lo stato di systemctl ha mostrato che non sto ancora eseguendo il Daemon. Ho allegato l'errore di seguito, purtroppo non lo so ho Ri-esecuzione sshd -t non dà nessun messaggio ora.

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.

Risposte:


31

Prova sshd -t (la modalità test sshd). Potrebbe indicarti un motivo per il fallimento.

Fare riferimento alla documentazione della modalità test qui .


15

Il problema, nel nostro caso, era che usiamo una porta non standard per SSH. SELinux può limitare quali porte possono essere utilizzate da un servizio. Apparentemente a volte si confonde e si dimentica che avevamo permesso quella porta?

Abbiamo dovuto emettere il seguente comando per aggiungere la nostra porta (22222) all'elenco delle porte disponibili

semanage port -a -t ssh_port_t -p tcp 22222

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


8

Bene, se modifichi il numero di porta SSH devi fare alcune altre cose in CentOS 7.

Cambia la porta SSH modificando il file ssdh_config

vi /etc/ssh/sshd_config

Ad esempio, passare a: Porta 2323

SELINUX consente solo la porta 22 per ssh. Aggiungi il nuovo contesto della porta 2323. Se non hai installato, procedi come segue

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

Controlla il contesto della porta per ssh

semanage port -l | grep ssh

Riavvia il servizio SSHD

systemctl restart sshd.service

Aggiungi la porta al firewall

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

Ricarica il firewall

firewall-cmd --reload

Controlla l'ascolto

ss -tnlp|grep ssh

Prova a connetterti nuovamente tramite ssh

ssh root@<ipaddr> -p 2323

3

Ho anche avuto questo problema ma l'ho risolto. La mia configurazione è sotto.

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

Impossibile avviare il servizio, quindi ho appena commentato l'ultima riga ( #ListenAddress 192.168.1.23), quindi il mio server è stato avviato correttamente.

Nota: ho disattivato il firewall (iptables) e SELinux.


2

Potresti provare a utilizzare la seguente impostazione:

RestartSec=5s

Ciò costringerebbe l'applicazione a dormire per 5 secondi prima di un tentativo di riavvio. Puoi ovviamente variare il numero di impostazioni.

Vedi qui per i dettagli:


Ho votato a fondo questa risposta, perché contiene informazioni utili su come risolvere il problema quando il problema è in systemd e non sul servizio effettivo (sshd nel caso OP). Ho avuto servizi con riavvio = sempre fallito e non essere riavviato, più volte. Questa risposta potrebbe effettivamente risolvere quel problema con systemd. (Anche se non è direttamente correlato alla domanda del PO).
MattBianco,

1

Cannot bind any address

Se tenta di collegarsi a una porta (ad esempio, per impostazione predefinita: 22) al di sotto di 1024, ha bisogno del privilegio di root per farlo. Hai corso service sshd starto qualcosa del genere come root? Prova a modificare il file di configurazione sshd.conf, imposta l'indirizzo di bind su una porta maggiore di 1024 (es. 1122) ed eseguilo come un semplice utente!


1

Ho avuto lo stesso problema e la soluzione più semplice che ho trovato è stata quella di rimuoverlo opensshe installarlo di nuovo.

 yum remove openssh

e poi:

 yum install openssh openssh-server openssh-clients

quindi è possibile avviare il sshdservizio:

 service sshd start

0

Ho avuto lo stesso problema. SELinux appena disabilitato!


-1

Segui questo,

mkdir -p /var/run/sshd

e

/usr/sbin/sshd -ddd

Questo dovrebbe risolvere il tuo problema.


1
Perché dovrebbe essere una soluzione al problema che l'OP ha avuto?
HBruijn

1
Ho un problema simile in OpenVZ. Ho seguito questo per risolvere il problema.
Aman Juman,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.