Normalmente, parar sshd
impedirá a aceitação de novas conexões, mas não eliminará as conexões existentes. Depois de ter feito o stop
, você precisa fazer algo como killall sshd
.
Quando eu corro
systemctl start sshd.socket
na minha máquina Arch Linux, faça login no servidor a partir do meu mac e, em seguida, execute
systemctl stop sshd.socket
na minha máquina Arch Linux, nada acontece até que eu saia da máquina mac. Ainda posso editar arquivos na máquina arch linux do meu mac. Existe alguma maneira de fechar o servidor para que meu Mac não possa editar arquivos, em vez de esperar até eu digitar exit no meu Mac (além de desligar a máquina Arch Linux)?
Você precisa encontrar os processos que ainda estão em execução e usando conexões de soquete estabelecidas. Uma maneira de fazer isso é:
lsof -i :22 |
grep -i established |
awk '{print $2}' |
while read x; do kill $x; done
Pode ser necessário instalar o lsof
, já que ele não é instalado por padrão no arco.