faça alterações no arquivo sshd_config sem reiniciar o servidor


33

Eu mudei a configuração no arquivo

/etc/ssh/sshd_config

mas entrou em vigor somente após a reinicialização do servidor. Como fazer alterações sem reiniciar o servidor?


Você pode usar sudo service ssh restartpara reiniciar o serviço para entrar em vigor. Mas lembre-se, se você estiver conectado através do SSH, sua sessão será encerrada.
AzkerM

Respostas:


39

Simplesmente reinicie o serviço sshd:

sudo service sshd restart

ou:

sudo /etc/init.d/sshd restart

6
What if I'm on an ssh connection?
Anwar

7
nada ... saltando sshd é inteligente o suficiente para permitir conexões SSH para continuar alegremente inabalável
Scott Stensland

4
Não recomendo executar nada no /etc/init.d diretamente. Use o comando "service". A maioria dos serviços não se importa, mas há alguns que o fazem porque são impactados por variáveis ​​de ambiente. "serviço" garante que o ambiente seja limpo. Por exemplo, a execução de "sudo" deixa a variável de ambiente HOME no diretório inicial não raiz.
Chris Cogdon

5
sudo service ssh restart

não vai fazer isso. Você precisa reiniciar o sshd, não o ssh:

sudo service sshd restart

3
Depende da configuração do sistema. No Lubuntu 14.04 sudo service ssh restartfunciona muito bem, enquanto o sudo service sshd restartrelatório "sshd: serviço não reconhecido". Não sei por que isso varia ...
schulwitz 15/01

3

Há uma maneira ainda menos invasiva de fazer isso, sem reiniciar o serviço SSH.

De man sshd:

O sshd relê seu arquivo de configuração quando recebe um sinal de interrupção, SIGHUP, executando-se com o nome e as opções com as quais foi iniciado, por exemplo, / usr / sbin / sshd.

Portanto, você pode usar um comando como o seguinte para enviar SIGHUP ao processo do servidor SSH:

sudo kill -SIGHUP $(pgrep -f "sshd -D")

A pgrep -f "sshd -D"parte retornará apenas o PID do processo daemon sshd que escuta novas conexões, pois provavelmente haverá outros PIDs para cada sessão ativa que não precisem do sinal.


2
Esta é a maneira mais segura ( stribika.github.io/2015/01/04/secure-secure-shell.html ) de recarregar a configuração: "Seja extremamente cuidadoso ao configurar o SSH em um host remoto. Sempre mantenha uma sessão ativa, nunca reinicie o sshd. Em vez disso, você pode enviar o sinal SIGHUP para recarregar a configuração sem interromper sua sessão. Você pode ter ainda mais cuidado iniciando uma nova instância do sshd em uma porta diferente e testando isso. "
Adriano Lucas

Existe alguma diferença significativa para sudo pkill -HUP sshd?
AdamKalisz 24/06

@ Adam Você quer apenas o processo de escuta do HUP, não os clientes ativos que também são sshdprocessos. sudo pkill -HUP -f "sshd -D"é uma alternativa tentadora, mas o pkill sinaliza seu próprio sudopai, já que sua linha de comando completa corresponde ao seu próprio padrão de pesquisa. Você pode criar um padrão que não combina com ele ... -f "sshd -[D], mas que ofusca um pouco as coisas. Eu acho que o método pgrep é mais fácil para os alunos entenderem.
Steven K

2

Como verificação de raiz

service --status-all | grep ssh

Eu não tinha sshdserviço, mas tinha sshserviço no servidor Ubuntu. Então

service ssh restart

2

Para sistemas Systemd - Ubuntu padrão

sudo systemctl reload sshd.service

ou

 sudo systemctl reload sshd

ou

 sudo /bin/systemctl reload sshd.service

Para sistemas Sysvinit

sudo service sshd reload

ou

sudo /etc/init.d/sshd reload

0

Recarregar pode ser uma alternativa melhor para reiniciar

sudo service sshd reload

sob o capô, ele envia um HUPsinal para o processo sshd daemon quase da mesma maneira que Steven K já respondeu . A diferença é que essa variante usa a killprocfunção em vez do killcomando diretamente para enviar o sinal de maneira ainda mais precisa (para reduzir possíveis erros de envio de sinais para processos errados). A configuração é relida sem reiniciar / parar o serviço.

É claro que vale a pena descobrir como exatamente o deamon SSH é chamado realmente como os outros discutiram.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.