Me di cuenta de que cuando emito un reboot
comando, mi conexión SSH se cierra inmediatamente en CentOS 7. No significa que el servidor se haya reiniciado, ya que todavía puedo hacer ping.
Parece que systemd está matando sshd demasiado pronto. A veces, un servicio se atasca cerrándose o simplemente se ralentiza, y ya no puedo iniciar sesión para verificar qué está mal aunque el servidor esté activo.
¿Hay alguna manera de decirle a systemd que solo mate sshd después de que todos los demás servicios estén inactivos?
Respuestas:
Incluso si pudiera asegurarse de que SSH sea el último servicio que se cerrará, no tendría sentido, porque perderá la conexión tan pronto como se detengan los servicios de red.
Una máquina Linux que arranca inicia todos los servicios en un orden predeterminado: primero los servicios más vitales, el syslog, el firewall, luego la red y, finalmente, las aplicaciones que requieren acceso a la red (servidor web, servidor SSH, etc.). Al cerrar, estos servicios se detienen en orden inverso. Entonces perderá la conexión SSH casi de inmediato.
El hecho de que SSH ya esté inactivo mientras aún puede hacer ping en la máquina remota es normal.
fuente
Este es un truco, pero ¿qué pasa con agregar algo como:
a la sección "[Servicio]" de
/usr/lib/systemd/system/sshd.service
? Eso no garantizaría el orden de los apagados, pero si pudieras tolerar un tiempo de apagado más prolongado, podría permitirte mantener tu shell activo el tiempo suficiente para verificar que todo lo demás terminó bien, o para hacer una búsqueda rápida. No estoy seguro de si esto es útil en el caso general, ya que probablemente sea demasiado tarde para abortar un cierre problemático en esta etapa de todos modos, pero podría ser útil en una situación en la que tiene un problema recurrente durante el cierre que está tratando de depurar.fuente
No estoy seguro de lo que buscas aquí, pero lo primero que pensarás es cambiar el proceso.
Entonces, en su caso, puede cambiar el proceso del padre sshd:
fuente