Invocando um comando local em cada conexão bem-sucedida ao usar a multiplexação ssh?

4

Eu gostaria de executar automaticamente um comando toda vez que eu conecto com sucesso a um host remoto via ssh.

Eu posso fazer isso para a primeira conexão com cada host usando as entradas PermitLocalCommand yes e LocalCommand ~/bin/ssh-notify-me no meu ~/.ssh/config , semelhante a esta resposta mas também estou usando uma configuração de multiplexação ssh bastante agressiva (aproximadamente a seguinte):

Host *
PermitLocalCommand yes
ServerAliveCountMax 2
ServerAliveInterval 5
ControlPath ~/.ssh/mux/%r@%h:%p
ControlMaster auto
ControlPersist 1h

Com esta configuração, o LocalCommand é executado somente para a primeira conexão antes de existir um soquete mestre / mux de controle. Depois disso, eu me conecto, mas o comando não é executado.

Existe alguma maneira (sem desabilitar o muxing) para garantir que LocalCommand ou algum equivalente ocorra para cada nova sessão interativa aberta?

Quebra de ssh binário em uma função de shell ou script parece não funcionar, porque não é possível saber se a conexão foi bem-sucedida até que seja concluída.

    
por Shabble 26.09.2014 / 04:05

0 respostas