Como fazer logoff da conexão ssh de outro usuário por linha de comando no Mac OS ou Linux
Índice:
Usar SSH, ou Secure Shell, é uma maneira muito comum de estabelecer conexões remotas com máquinas Mac e Linux a partir da linha de comando. Se você for um administrador de sistemas ou se tiver o SSH ativado em um Mac por outro motivo, talvez seja necessário fazer logoff da conexão ssh de outro usuário. Existem várias maneiras de encerrar a conexão ssh de um usuário com um Mac (ou caixa Linux, essas dicas também se aplicam lá também), e abordaremos algumas delas.
note que essas abordagens funcionarão para fazer logoff da conexão ssh de um usuário, independentemente de como você habilitou o SSH no computador. Se o Mac está habilitando o ssh com Login remoto ou habilitando o ssh pela linha de comando, não importa para esses propósitos. Da mesma forma, esses truques são escritos com MacOS e Mac OS X em mente, mas se aplicam igualmente ao encerramento de processos de usuário ssh no Linux e na maioria dos outros tipos de Unix também.
Como fazer logoff de uma conexão ssh de usuários
Talvez a maneira mais comum de desconectar um usuário conectado via ssh seja usando os comandos kill ou pkill, visando o processo ssh específico em questão ou a conta do usuário diretamente.
Log Out do usuário ssh com kill
Primeiro, obtenha o ID do processo (PID) da conexão ssh do usuário:
ps aux | grep sshd
Em seguida, localize o processo específico da conexão ssh dos usuários de destino e direcione-o com kill -9. Por exemplo, vamos supor que queremos encerrar a conexão ssh do usuário Walrus e o processo para ‘sshd: Walrus@ttys011’ tem um PID de 5821:
kill -9 5821
O efeito é instantâneo e os usuários verão uma mensagem na tela do terminal informando: “Connection to localhost closed by remote host.Connection to localhost closed.”
Encerrando amplamente uma conexão SSH de usuários e processos relacionados com pkill
Outra abordagem mais ampla é matar todos os processos pertencentes a uma conta de usuário específica com pkill, isso permite que você simplesmente direcione uma conta de usuário em vez de um ID de processo:
pkill -u nome de usuário
Isso desconectará instantaneamente o 'nome de usuário' do usuário encerrando todos os processos do usuário.
A abordagem pkill é útil porque também aceita curingas e você também pode facilmente direcionar um processo pelo nome se quiser encerrar amplamente todos os processos ssh, por exemplo.
Existem outras possibilidades para encerrar a conexão ssh de outro usuário, mas os truques acima são talvez os mais intuitivos para usuários experientes de linha de comando.Basicamente, qualquer método que permita ver os processos em execução e localizar a conexão ssh dos usuários esperados funcionará para obter o mesmo efeito; encerrar esse processo resultará no logoff desse usuário do ssh.
Como fazer logoff do usuário SSH de um Mac com o Activity Monitor
Se você é um usuário de Mac que prefere permanecer na GUI, também pode usar o Activity Monitor para localizar a tarefa e encerrá-la dessa forma, da mesma forma que forçaria o encerramento do Mac aplicativos em geral. Simplesmente abra o Activity Monitor, procure por 'ssh' e encontre a conexão ssh do usuário que você deseja encerrar e, em seguida, encerre esse processo por meio do Activity Monitor.
Como essa abordagem usa o Activity Monitor, um utilitário nativo do Mac, esse método obviamente não funcionará para máquinas Linux, pois elas não têm esse utilitário, enquanto qualquer outra abordagem para direcionar o processo funcionaria.
E caso você esteja se perguntando, sim, tudo isso funcionaria basicamente da mesma forma com telnet, compartilhamento de tela ou qualquer outro método de conexão remota, direcionando os processos relevantes específicos para o usuário conectado conta.
Se você souber de quaisquer outros métodos ou abordagens para fazer logoff das conexões ssh do usuário ou desconectar usuários do ssh, compartilhe conosco nos comentários abaixo!