Eu escreveria um pequeno programa que verificava as conexões SSH ativas via netstat
e / ou ps
.
Solte-o no lugar do comando shutdown
.
Se ninguém mais estiver usando a máquina, chame shutdown
quando o usuário tentar. Se alguém estiver usando a máquina, simplesmente avise o usuário que emitiu o comando shutdown
.
O Netstat dará a você uma saída assim, e é muito fácil procurar .ssh
na saída.
netstat -a
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 52 10.5.6.xx.ssh 10.6.6.yy.51400 ESTABLISHED
tcp 0 0 *.ssh *.* LISTEN
udp 0 0 *.syslog *.*
ps
fornecerá uma saída como essa, mas é um pouco mais difícil, porque você precisa se preocupar em não se preocupar com conexões de saída. Netstat
é provavelmente o caminho certo a seguir.
ps -e | grep ssh
10084366 ? 00:00:07 /opt/sbin/sshd
282647 ? 00:00:00 /opt/sbin/sshd