Puede usar sudo service ssh restartpara reiniciar el servicio para que surta efecto. Pero recuerde que si está conectado a través de SSH, su sesión finalizará.
nada ... rebotar sshd es lo suficientemente inteligente como para permitir que las conexiones ssh existentes continúen alegremente sin disminuir
Scott Stensland
44
No recomiendo ejecutar nada en /etc/init.d directamente. Use el comando "servicio". A la mayoría de los servicios no les importará, pero hay algunos que sí lo hacen porque se ven afectados por las variables de entorno. El "servicio" garantiza la limpieza del medio ambiente. Por ejemplo, ejecutar "sudo" deja la variable de entorno HOME en su directorio de inicio no root.
Depende de la configuración del sistema. En Lubuntu 14.04 sudo service ssh restartfunciona muy bien, mientras que sudo service sshd restartinforma "sshd: servicio no reconocido". Aunque no estoy seguro de por qué esto varía ...
schulwitz
3
Hay una forma aún menos intrusiva de hacer esto, sin reiniciar el servicio SSH.
De man sshd:
sshd vuelve a leer su archivo de configuración cuando recibe una señal de suspensión, SIGHUP, ejecutándose con el nombre y las opciones con las que se inició, por ejemplo, / usr / sbin / sshd.
Por lo tanto, puede usar un comando como el siguiente para enviar SIGHUP al proceso del servidor SSH:
sudo kill -SIGHUP $(pgrep -f "sshd -D")
La pgrep -f "sshd -D"parte devolverá solo el PID del proceso sshd daemon que escucha nuevas conexiones, ya que es probable que haya otros PID para cada sesión activa que no necesiten la señal.
Esta es la forma más segura ( stribika.github.io/2015/01/04/secure-secure-shell.html ) de recargar la configuración: "Tenga mucho cuidado al configurar SSH en un host remoto. Mantenga siempre una sesión activa, nunca reinicie sshd. En su lugar, puede enviar la señal SIGHUP para volver a cargar la configuración sin matar su sesión. Puede ser aún más cuidadoso al iniciar una nueva instancia de sshd en un puerto diferente y probarlo ".
Adriano Lucas
¿Hay alguna diferencia significativa para sudo pkill -HUP sshd?
AdamKalisz
@ Adam Solo desea HUP el proceso de escucha, no los clientes activos que también son sshdprocesos. sudo pkill -HUP -f "sshd -D"es una alternativa tentadora, pero luego pkill señala a su propio sudopadre ya que su línea de comando completa coincide con su propio patrón de búsqueda. Puedes crear un patrón que no coincida ... -f "sshd -[D], pero que ofusca un poco las cosas. Creo que el método pgrep es más fácil para los alumnos de entender.
Steven K
2
Como comprobación de raíz
service --status-all | grep ssh
No tenía sshdservicio, pero tenía sshservicio en el servidor Ubuntu. Luego
Recargar puede ser una mejor alternativa para reiniciar
sudo service sshd reload
debajo del capó envía una HUPseñal al proceso sshd daemon casi de la misma manera en que Steven K ya respondió . La diferencia es que esta variante usa la killprocfunción en lugar del killcomando directamente para enviar la señal de una manera aún más precisa (para reducir los posibles errores de enviar señales a procesos incorrectos). La configuración se vuelve a leer sin reiniciar / detener el servicio.
Por supuesto, vale la pena descubrir cómo se llama exactamente SSH Deamon, como lo comentaron otros.
sudo service ssh restart
para reiniciar el servicio para que surta efecto. Pero recuerde que si está conectado a través de SSH, su sesión finalizará.Respuestas:
Simplemente reinicie el servicio sshd:
o:
fuente
No lo haré. Necesita reiniciar sshd, no ssh:
fuente
sudo service ssh restart
funciona muy bien, mientras quesudo service sshd restart
informa "sshd: servicio no reconocido". Aunque no estoy seguro de por qué esto varía ...Hay una forma aún menos intrusiva de hacer esto, sin reiniciar el servicio SSH.
De
man sshd
:Por lo tanto, puede usar un comando como el siguiente para enviar SIGHUP al proceso del servidor SSH:
La
pgrep -f "sshd -D"
parte devolverá solo el PID del proceso sshd daemon que escucha nuevas conexiones, ya que es probable que haya otros PID para cada sesión activa que no necesiten la señal.fuente
sudo pkill -HUP sshd
?sshd
procesos.sudo pkill -HUP -f "sshd -D"
es una alternativa tentadora, pero luego pkill señala a su propiosudo
padre ya que su línea de comando completa coincide con su propio patrón de búsqueda. Puedes crear un patrón que no coincida... -f "sshd -[D]
, pero que ofusca un poco las cosas. Creo que el método pgrep es más fácil para los alumnos de entender.Como comprobación de raíz
No tenía
sshd
servicio, pero teníassh
servicio en el servidor Ubuntu. Luegofuente
Para sistemas Systemd: Ubuntu predeterminado
o
o
Para sistemas Sysvinit
o
fuente
Recargar puede ser una mejor alternativa para reiniciar
debajo del capó envía una
HUP
señal al proceso sshd daemon casi de la misma manera en que Steven K ya respondió . La diferencia es que esta variante usa lakillproc
función en lugar delkill
comando directamente para enviar la señal de una manera aún más precisa (para reducir los posibles errores de enviar señales a procesos incorrectos). La configuración se vuelve a leer sin reiniciar / detener el servicio.Por supuesto, vale la pena descubrir cómo se llama exactamente SSH Deamon, como lo comentaron otros.
fuente