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?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.
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
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.
Adicione a seguinte linha ao ficheiro /etc/ssh/ssh_config
:
ServerAliveInterval 60