Com a seguinte .ssh/config
configuração:
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 4h
Como fechar a conexão persistente antes das 4 horas?
Eu sei que você pode fazer novas conexões, mas como fechá-las (todas)?
Talvez haja uma maneira de mostrar todas as conexões persistentes e lidar com elas individualmente, mas não consigo encontrá-la.
ssh
connection-sharing
Paolo
fonte
fonte
ssh -S none
(talvez isso já o ajude).Respostas:
Do manual :
As versões mais antigas têm apenas
check
eexit
, mas isso é suficiente para o seu propósito.Se você deseja excluir todas as conexões (não apenas a conexão com um host específico) de uma só vez, então
fuser /tmp/ssh_mux_*
oulsof /tmp/ssh_mux_*
listará os clientes ssh que controlam cada soquete. Usefuser -HUP -k tmp/ssh_mux_*
para matá-los todos de forma limpa (usando SIGHUP, pois o sinal é o melhor, pois permite que os clientes removam corretamente o soquete).fonte
check
é ainda mais útil do que o que eu estava procurando, que é o queexit
faz de qualquer maneira! : Dfuser
não é possível enviar sinais, mas isso também funciona:lsof -Fp /tmp/ssh_mux_* | cut -c 2- | xargs kill -HUP
Escrevi um utilitário de código aberto
cmc
,, para gerenciar sessões do ControlMaster: ClockworkNet / cmc :fonte
Você pode executar
fuser /tmp/ssh_mux_blablabla
(possível necessidadesudo
) e matar o PID que ele retorna.fuser
mostra quais processos estão usando um arquivo. (E mais, confiraman fuser
.)Atualização: confira a resposta de Gilles; é muito mais detalhado.
fonte
Isso funciona para mim usando apenas o arquivo de soquete para o mestre de controle:
Exemplo
Aqui está um exemplo em que eu já estabeleci uma conexão com um servidor remoto:
E com ele desconectado:
Se ainda estivesse conectado, isso o forçaria a sair imediatamente:
Não está claro para mim, mas parece ser um bug em potencial,
ssh
pois requer um argumento adicional no final, mesmo semblah
sentido no contexto dos comutadores que estou usando.Sem isso me dá o seguinte:
Informação da versão
OSX CentOS 7.xConfirmei que em ambas as versões, era necessária a necessidade de um argumento falso adicional.
Referências
fonte