Você já tentou enviar um sinal de desligamento kill -HUP <PID of sshd>:? De acordo com man sshd: sshd rereads its configuration file when it receives a hangup signal, SIGHUP. (Você pode encontrar o PID sshdcom ps -ef|grep sshdSe houver mais de um. sshdProcesso, envio HUPa todos eles.)
jaume
(ver a minha edição mais recente)
kjo
6
Sim, você está certo, se você HUP um sshdprocesso que possui uma conexão aberta, sshdtermina. No entanto, o envio de um sinal HUP para o principal sshd, ou seja, o pai sshdque bifurca um novo daemon para cada conexão de entrada, terá o efeito desejado. No OS X, no entanto, não há nenhuma principal sshd: sshdé iniciado por launchdmeio launchproxyde opção -i, que diz sshdque ele é executado a partir de inetde iniciado sob demanda, quando launchdrecebe um pedido. Com essa configuração, toda conexão SSH é iniciada sshdcom a versão mais recente do seu arquivo de configuração.
jaume
Respostas:
5
O sshd não "relê" seu arquivo de configuração, ele se reinicia (consulte man sshd (8)), no entanto, não deve matar o filho / conexões se você enviou o SIGHUP ao PARENT de todos eles. É quando você está falando sobre o sshd que se liga à porta 22, como no "usual" do Linux / FreeBSD / etc. [existem exceções e razões de administrador de sistema para seguir a rota do tipo MacOSX]
No entanto, o MacOSX lançou como aquele que escuta e manipula a porta 22 (da minha máquina 10.10.4):
É o launchd que pode precisar ser "reiniciado" no macosx ou instruído sobre portas diferentes para ouvir o sshd, pois o launchd gera um novo sshd para cada conexão da porta 22 que entra.
Enviei um ssh para meu roteador e voltei para demonstrar o problema, e você notará que os dois processos já são "de propriedade" de mim. Compare isso com um sistema Linux (meu roouter) onde você notará o terceiro sshd "real" que pertence ao root:
kill -HUP <PID of sshd>
:? De acordo comman sshd
:sshd rereads its configuration file when it receives a hangup signal, SIGHUP
. (Você pode encontrar o PIDsshd
comps -ef|grep sshd
Se houver mais de um.sshd
Processo, envioHUP
a todos eles.)sshd
processo que possui uma conexão aberta,sshd
termina. No entanto, o envio de um sinal HUP para o principalsshd
, ou seja, o paisshd
que bifurca um novo daemon para cada conexão de entrada, terá o efeito desejado. No OS X, no entanto, não há nenhuma principalsshd
:sshd
é iniciado porlaunchd
meiolaunchproxy
de opção-i
, que dizsshd
que ele é executado a partir deinetd
e iniciado sob demanda, quandolaunchd
recebe um pedido. Com essa configuração, toda conexão SSH é iniciadasshd
com a versão mais recente do seu arquivo de configuração.Respostas:
O sshd não "relê" seu arquivo de configuração, ele se reinicia (consulte man sshd (8)), no entanto, não deve matar o filho / conexões se você enviou o SIGHUP ao PARENT de todos eles. É quando você está falando sobre o sshd que se liga à porta 22, como no "usual" do Linux / FreeBSD / etc. [existem exceções e razões de administrador de sistema para seguir a rota do tipo MacOSX]
No entanto, o MacOSX lançou como aquele que escuta e manipula a porta 22 (da minha máquina 10.10.4):
É o launchd que pode precisar ser "reiniciado" no macosx ou instruído sobre portas diferentes para ouvir o sshd, pois o launchd gera um novo sshd para cada conexão da porta 22 que entra.
verifique o seguinte:
Enviei um ssh para meu roteador e voltei para demonstrar o problema, e você notará que os dois processos já são "de propriedade" de mim. Compare isso com um sistema Linux (meu roouter) onde você notará o terceiro sshd "real" que pertence ao root:
fonte
A linha a seguir verifica primeiro a configuração e obtém o PID do processo principal, mantendo todos os outros (testados no Linux, zsh):
fonte
sshd
processo.Simplesmente:
fonte
sshd
processo.