Manter a sessão SSH viva [fechada]

Eu uso ssh -p8520 username@remote_host para autenticar o servidor remoto.

questão:

Está sempre ligado e funciona bem quando estou no local de trabalho. Infelizmente, o terminal congela em 10 a 15 minutos depois de me ligar ao servidor remoto de casa.

não há nenhum relatório de erro/tempo-limite na consola, mas o cursor não pode mover-se mais.

Quando entrar w para verificar os utilizadores de autenticação, alguns utilizadores de autenticação zombies estão lá, e eu tenho de os matar manualmente.

Isto é bastante irritante. Alguém me pode ajudar?

Author: Haifeng Zhang, 2014-08-01

5 answers

O Sshd (o servidor) fecha a ligação se não ouvir nada do cliente durante algum tempo. Pode dizer ao seu cliente para enviar um sinal de vida ao servidor de vez em quando.

A configuração para isto está no ficheiro"~/.ssh / config", crie-o se o ficheiro de configuração não existir. Para enviar o sinal a cada quatro minutos (240 segundos) para a máquina remota, coloque o seguinte em seu "~/.ficheiro ssh/config".

Host remotehost:
    HostName remotehost.com
    ServerAliveInterval 240
Isto é o que tenho no meu ... "~/.SSH/config":

Para permitir que todas as máquinas usem:

Host *
ServerAliveInterval 240

Certifique-se também de correr:

chmod 600 ~/.ssh/config

Porque o ficheiro de configuração não deve ser legível a nível mundial.

 287
Author: rockymonkey555, 2016-07-20 12:40:01

Eu queria uma solução única:

ssh -o ServerAliveInterval=60 [email protected]

Guardou-o num nome alternativo:

alias sshprod='ssh -v -o ServerAliveInterval=60 [email protected]'

Agora pode ligar-se assim:

me@MyMachine:~$ sshprod
 84
Author: Ryan, 2015-04-05 15:13:50
Para aqueles que se perguntam, @edward-coast

Se quiser definir o keep alive para o servidor, adicione isto ao /etc/ssh/sshd_config:

ClientAliveInterval 60
ClientAliveCountMax 2

ClientAliveInterval: define um intervalo de tempo-limite em segundos após o qual, se não tiverem sido recebidos dados do cliente, o sshd(8) irá enviar uma mensagem através do canal encriptado para solicitar uma resposta do cliente.

ClientAliveCountMax : Define o número de mensagens vivas do cliente (ver abaixo) que pode ser enviado sem o sshd (8) receber quaisquer mensagens de volta do cliente. Se este limiar for atingido enquanto as mensagens do cliente estão sendo enviadas, o sshd irá desligar o cliente, terminando a sessão.

 32
Author: Jeff Davenport, 2017-02-17 09:02:08

putty settings

Para que saibas, os utilizadores do Putty podem definir as opções aqui

 14
Author: Ruben Benjamin, 2017-04-17 04:13:20
Podemos manter a nossa ligação ssh viva, seguindo configurações globais.

Adicione a seguinte linha ao ficheiro /etc/ssh/ssh_config:

ServerAliveInterval 60
 8
Author: minhas23, 2016-07-15 20:06:08