¿Has intentado enviar una señal de colgar kill -HUP <PID of sshd>? De acuerdo con man sshd: sshd rereads its configuration file when it receives a hangup signal, SIGHUP. (Puede encontrar el PID de sshdwith ps -ef|grep sshd. Si hay más de un sshdproceso, envíelo HUPa todos.)
jaume
(ver mi última edición)
kjo
66
Sí, tiene razón, si HUP un sshdproceso que tiene una conexión abierta, sshdfinaliza. Sin embargo, enviar una señal HUP al principal sshd, es decir, el padre sshdque bifurca un nuevo demonio para cada conexión entrante, tendrá el efecto deseado. Sin embargo, en OS X, no hay main sshd: sshdse inicia a launchdtravés launchproxyde la opción -i, que indica sshdque se ejecuta desde inetdy se inicia bajo demanda, cuando launchdrecibe una solicitud. Con esta configuración, cada conexión SSH se sshdconfigura de nuevo con la versión más reciente de su archivo de configuración.
jaume
Respuestas:
5
sshd no "vuelve a leer" su archivo de configuración, se reinicia solo (consulte man sshd (8)), sin embargo, no debería matar al niño / conexiones si envió el SIGHUP al PADRE de todos ellos. Es entonces cuando habla de sshd que se une al puerto 22, como en el "usual" con Linux / FreeBSD / etc. [hay excepciones y razones del administrador de sistemas para seguir la ruta de tipo MacOSX]
SIN EMBARGO MacOSX se ha lanzado como el que escucha y maneja el puerto 22 (desde mi máquina 10.10.4):
Es launchd que podría necesitar "reiniciarse" en macosx, o contarle sobre diferentes puertos para escuchar sshd, ya que launchd generará un nuevo sshd para cada conexión de puerto 22 que entre.
Me he enviado a mi enrutador y viceversa para demostrar el problema, y notarás que los dos procesos ya son "de mi propiedad". Compare esto con un sistema Linux (mi enrutador) donde notará el tercer sshd "real" que es propiedad de root:
kill -HUP <PID of sshd>
? De acuerdo conman sshd
:sshd rereads its configuration file when it receives a hangup signal, SIGHUP
. (Puede encontrar el PID desshd
withps -ef|grep sshd
. Si hay más de unsshd
proceso, envíeloHUP
a todos.)sshd
proceso que tiene una conexión abierta,sshd
finaliza. Sin embargo, enviar una señal HUP al principalsshd
, es decir, el padresshd
que bifurca un nuevo demonio para cada conexión entrante, tendrá el efecto deseado. Sin embargo, en OS X, no hay mainsshd
:sshd
se inicia alaunchd
travéslaunchproxy
de la opción-i
, que indicasshd
que se ejecuta desdeinetd
y se inicia bajo demanda, cuandolaunchd
recibe una solicitud. Con esta configuración, cada conexión SSH sesshd
configura de nuevo con la versión más reciente de su archivo de configuración.Respuestas:
sshd no "vuelve a leer" su archivo de configuración, se reinicia solo (consulte man sshd (8)), sin embargo, no debería matar al niño / conexiones si envió el SIGHUP al PADRE de todos ellos. Es entonces cuando habla de sshd que se une al puerto 22, como en el "usual" con Linux / FreeBSD / etc. [hay excepciones y razones del administrador de sistemas para seguir la ruta de tipo MacOSX]
SIN EMBARGO MacOSX se ha lanzado como el que escucha y maneja el puerto 22 (desde mi máquina 10.10.4):
Es launchd que podría necesitar "reiniciarse" en macosx, o contarle sobre diferentes puertos para escuchar sshd, ya que launchd generará un nuevo sshd para cada conexión de puerto 22 que entre.
verifique lo siguiente:
Me he enviado a mi enrutador y viceversa para demostrar el problema, y notarás que los dos procesos ya son "de mi propiedad". Compare esto con un sistema Linux (mi enrutador) donde notará el tercer sshd "real" que es propiedad de root:
fuente
La siguiente línea verifica primero la configuración y obtiene el PID del proceso principal manteniendo todos los demás (probado en Linux, zsh):
fuente
sshd
proceso.Simplemente:
fuente
sshd
proceso.