Como faço para resolver uma conexão ssh fechada por host remoto devido à inatividade?

14

Atualmente, estou tentando ssh para um colo, após 1 a 2 minutos de inatividade, recebo:

superuser@thecolo:~$ Connection to 10.123.45.67 closed by remote host.
Connection to 10.123.45.67 closed.
mylocalmac:~ superuser$

Enquanto eu estiver digitando algo no terminal ssh, a conexão será mantida. Assim que 1 a 2 min de inatividade acontecer, receberei a mensagem acima. A máquina que estou tentando conectar é uma edição do servidor Ubuntu 12.04.1 LTS de 64 bits. Não é um servidor físico, mas um VMware convidado. Estou sshing de um terminal mac.

Por favor, não confunda esta pergunta com perguntas semelhantes neste site com a palavra ssh_exchange_identification- chave , não está relacionada.

Thierry Lam
fonte

Respostas:

17

Adicione o seguinte ao seu $ HOME / .ssh / config e todas as suas conexões ssh enviarão um TCPKeepAlive a cada 30 segundos:

TCPKeepAlive yes
ServerAliveInterval 30
báltico
fonte
incapaz de encontrar o arquivo de configuração no servidor
insoftservice 03/03
Você pode criar o arquivo no seu diretório pessoal se ele não existir
balkian
9

Se você estiver se conectando a partir de um computador Linux, poderá usar algumas opções diretamente na linha de comando

TCPKeepAlive: usa a opção KEEPALIVE do protocolo TCP / IP para manter uma conexão ativa após um intervalo especificado de inatividade. Na maioria dos sistemas, isso significa 2 horas. Portanto, com a opção TCPKeepAlive passada para o SSH, o cliente SSH enviará um pacote criptografado ao servidor SSH, mantendo a conexão TCP em funcionamento.

ssh -o TCPKeepAlive=yes [email protected]

ServerAliveInterval: define um intervalo de tempo limite em segundos, especificado por você, do qual, se nenhum pacote for enviado do cliente SSH para o servidor SSH, o SSH enviará uma solicitação criptografada ao servidor para uma resposta TCP. Para fazer essa solicitação a cada 30 segundos:

ssh -o ServerAliveInterval=30 [email protected]

Fonte

ricciocri
fonte
0

Você precisa "manter viva"

Dependendo do seu cliente, isso pode ser trivial ou fácil - não deve ser mais difícil!

Por exemplo, em massa , está na opção de conexão (defina keepalive com um valor diferente de zero)

Andrew
fonte
Onde eu coloco a keepalive? No servidor ou no meu mac? Onde devo definir esse valor e qual é o valor recomendado?
Thierry Lam
Keepalive estará no cliente ... no seu caso, no seu Mac. Haverá uma opção em algum lugar!
22412 Andrew