Desative estas opções em ssh config:
ControlMaster auto
ControlPath ~/.ssh/control:%h:%p:%r
Estou usando muito a reutilização de uma conexão compartilhada que abro para uma caixa remota no início do meu dia de trabalho.
Meu .ssh/config
é um pouco parecido com isto:
ControlMaster auto
ControlPath ~/.ssh/control:%h:%p:%r
Host remote
HostName login.remote.com
User username
ForwardX11 yes
ServerAliveInterval 300
Isso funciona muito bem com uma exceção. Depois de estabelecer uma primeira conexão ( conexão mestre ), isso funciona bem: eu posso usar o terminal com a conexão mestre para fazer coisas no remoto e eu posso reutilizar o conexão mestre em um novo terminal chamando ssh remote
, o que abre uma nova conexão sem a necessidade de redigitar minhas credenciais.
No entanto, se algum tempo se passou (entre dezenas de minutos e horas, não tenho certeza) e quero abrir uma nova conexão, isso falha e a conexão mestre fecha com o mensagem (no terminal master ):
Connection to login.remote.com closed by remote host.
Connection to login.remote.com closed.
e (no terminal que estou usando para abrir uma nova conexão)
Shared connection to login.remote.com closed.
embora estivesse funcionando perfeitamente bem apenas alguns segundos atrás (eu poderia executar comandos no controle remoto usando o terminal executando a conexão mestre .
EDIT: : Esta é a saída ssh -vvv remote
para uma sessão recém-aberta que não consegue abrir corretamente:
OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /home/$USERNAME/.ssh/config
debug1: /home/$USERNAME/.ssh/config line 27: Applying options for remote
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: auto-mux: Trying existing master
debug2: fd 3 setting O_NONBLOCK
debug2: mux_client_hello_exchange: master version 4
debug3: mux_client_forwards: request forwardings: 0 local, 0 remote
debug3: mux_client_request_session: entering
debug3: mux_client_request_alive: entering
debug3: mux_client_request_alive: done pid = 23500
debug3: mux_client_request_session: session request sent
debug1: mux_client_request_session: master session id: 5
debug3: mux_client_read_packet: read header failed: Broken pipe
debug2: Control master terminated unexpectedly
Shared connection to login.remote.com closed.
Isso parece meio estranho para mim e suponho que seja um bug ou um erro de configuração, você pode ajudar?
Desative estas opções em ssh config:
ControlMaster auto
ControlPath ~/.ssh/control:%h:%p:%r