Faça o logout de todos os usuários ssh conectados na reinicialização

1

Quando eu reinicio meu servidor Linux (BusyBox Linux), todas as conexões do cliente ssh em andamento são executadas em um estado bloqueado até que ocorra um tempo limite no lado do cliente. Não há nenhuma mensagem enviada ao cliente ssh para produzir uma mensagem de erro "Desconectar". Isso basicamente faz com que o cliente ssh apareça como se algo estivesse congelado.

Eu estou usando o systemd com esta configuração de serviço para o sshd na versão OpenSSH_5.8p2

[Unit]
Description=SSH Per-Connection Server
After=syslog.target

[Service]
ExecStart=/usr/sbin/sshd -i
SuccessExitStatus=0 255
StandardInput=socket

Existe uma maneira de configurar um desligamento normal para o sshd?

    
por Oliver G. 08.10.2014 / 10:54

1 resposta

2

As sessões do sshd no meu servidor (rhel) podem ser identificadas por:

~# ps -ef |grep sshd:
root     12120     1  0 10:18 ?        00:00:00 sshd: sysope [priv]
sysope   12132 12120  0 10:18 ?        00:00:00 sshd: sysope@pts/2

matar esses processos fechará imediatamente as conexões. Então adapte seu arquivo de serviço sshd para systemd assim:

[Unit]
Description=SSH Per-Connection Server
After=syslog.target

[Service]
ExecStart=/usr/sbin/sshd -i
ExecStop=/usr/sbin/killall -9 sshd
SuccessExitStatus=0 255
StandardInput=socket
    
por 08.10.2014 / 14:04