el servicio sshd no se inicia

27

No estoy seguro de por qué no se inicia o por qué me impide conectarme, aparece este error:

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.

Siguiendo el consejo de #amrith ejecuté sshd -t que indicaba que la clave no se había generado. Generé esto usando ssh-keygen -A siguiendo los consejos dados en este foro, luego de ejecutar systemctl, el estado mostró que todavía no estoy ejecutando Daemon. He adjuntado el error a continuación, lamentablemente no sé ho Volver a ejecutar sshd -t no da mensajes ahora.

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.
aCoolBean
fuente

Respuestas:

31

Pruebe sshd -t (el modo de prueba sshd). Puede indicarle una razón para el fracaso.

Consulte la documentación del modo de prueba aquí .

amrith
fuente
15

El problema, en nuestro caso, fue que usamos un puerto no estándar para SSH. SELinux puede restringir qué puertos pueden ser utilizados por un servicio. Aparentemente, a veces se confunde y olvida que habíamos permitido ese puerto.

Tuvimos que emitir el siguiente comando para agregar nuestro puerto (22222) a la lista de puertos disponibles

semanage port -a -t ssh_port_t -p tcp 22222

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

Tommy McNeely
fuente
8

Bueno, si cambia el número de puerto SSH, debe hacer algunas cosas más en CentOS 7.

Cambiar el puerto SSH editando el archivo ssdh_config

vi /etc/ssh/sshd_config

Por ejemplo, cambie a: Puerto 2323

SELINUX solo permite el puerto 22 para ssh. Agregue el nuevo contexto de puerto 2323. Si no lo ha instalado, haga lo siguiente

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

Verifique el contexto del puerto para ssh

semanage port -l | grep ssh

Reiniciar el servicio SSHD

systemctl restart sshd.service

Agregue el puerto al firewall

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

Recargar firewall

firewall-cmd --reload

Revisa escuchar

ss -tnlp|grep ssh

Intente conectarse nuevamente a través de ssh

ssh root@<ipaddr> -p 2323
Slipstream
fuente
3

También tuve este problema pero lo resolví. Mi configuración está abajo.

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

El servicio no pudo iniciarse, así que acabo de comentar la última línea ( #ListenAddress 192.168.1.23) y luego mi servidor se inició correctamente.

Nota: He desactivado el firewall (iptables) y SELinux.

ravikanth
fuente
2

Es posible que desee intentar usar la siguiente configuración:

RestartSec=5s

Eso obligaría a su aplicación a dormir durante 5 segundos antes de un intento de reinicio. Obviamente, puede variar el número de configuraciones.

Ver aquí para más detalles:

Boris Epstein
fuente
Voté esta respuesta porque contiene información útil sobre cómo solucionar el problema cuando el problema está en systemd y no en el servicio real (sshd en el caso de OP). He tenido servicios con reinicio = siempre falla y no se reinicia, varias veces. Esta respuesta en realidad podría resolver ese problema con systemd. (Aunque no está directamente relacionado con la pregunta OP).
MattBianco
1

Cannot bind any address

Si intenta vincularse a un puerto (p. Ej., Por defecto: 22) por debajo de 1024, necesita privilegios de root para hacerlo. ¿Corriste service sshd starto algo así como root? Intente editar el archivo de configuración sshd.conf, establezca la dirección de enlace en un puerto superior a 1024 (por ejemplo, 1122) y ejecútelo como un usuario simple.

David Lakatos
fuente
1

Tuve el mismo problema y la solución más fácil que encontré fue eliminarlo opensshe instalarlo nuevamente.

 yum remove openssh

y entonces:

 yum install openssh openssh-server openssh-clients

entonces puede comenzar el sshdservicio:

 service sshd start
Ali Hashemi
fuente
0

Tuve el mismo problema ¡Solo deshabilité SELinux!

tquang
fuente
-1

Solo sigue esto,

mkdir -p /var/run/sshd

y

/usr/sbin/sshd -ddd

Esto debería solucionar tu problema.

Aman Juman
fuente
1
¿Por qué debería ser una solución para el problema que tenía el OP?
HBruijn
1
Tengo un problema similar en OpenVZ. Seguí que esto era para solucionar el problema.
Aman Juman