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.

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

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 user@some.host.com

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 user@some.host.com

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)


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.