SSH Conexões congeladas com “Write failed: Broken pipe”

11

Estou conectando uma caixa do CentOS 5.5 via SSH de uma máquina Ubuntu 11.04.

A conexão parece funcionar como esperado quando está em uso ativo (ou seja, sem atraso ou perda), mas se ficar inativa por um tempo, ela congelará e não responderá. Eventualmente, a mensagem de erro "Falha na gravação: cano quebrado" será retornada e eu voltarei ao prompt da minha máquina local.

Que tipo de coisas posso fazer para ajudar a depurar isso, descobrir o que está acontecendo e resolver isso? Sendo um desenvolvedor, isso está tornando minha vida uma dor ter que se reconectar constantemente.

    
por Stephen RC 04.05.2011 / 07:41

2 respostas

15

Parece que a configuração do SSHD da caixa do CentOS não está definida para fazer o cliente KeepAlive.

Elimine estas duas linhas na sua configuração do sshd do CentOS (/ etc / ssh / sshd_config), reinicie-a e divirta-se!

KeepAlive yes
ClientAliveInterval 60

Enquanto você está nisso, recomendo usar o gnu screen para manter sua sessão ativa no lado do CentOS.

    
por 04.05.2011 / 08:41
9

A resposta real é quase sempre que você tem um dispositivo NAT de algum tipo no caminho, geralmente um firewall, cujas tabelas de estado têm um tempo limite bastante agressivo. Como você deixa sua conexão ssh ociosa por alguns períodos de tempo, o dispositivo NAT "esquece" o mapeamento entre seu endereço interno e número da porta de origem e seu efêmero endereço externo e número de porta.

Quando mais tarde você tentar fazer alguma coisa nessa janela ssh, um novo endereço efêmero / par de portas é atribuído a você, o qual o servidor ssh de destino não tem conhecimento e não responde; mais tarde, algum tempo limite local é atingido e a conexão é interrompida pela sua máquina local.

A solução prática para isso é fazer exatamente o que yuriismaster sugere: ativar KeepAlives (que garante tráfego regular para "fazer cócegas" na entrada da tabela de estado) e usar screen no lado remoto (para preservar o estado no caso de coisas cair fora). Eu só posto esta resposta porque você perguntou o que está acontecendo, bem como o que fazer sobre isso. Espero que isso esclareça por que as sugestões de Yuriismaster são boas.

    
por 04.05.2011 / 09:36