SSH: reconfiguração da conexão depois de inativo por algum tempo

3

Quando minha conexão está inativa por algum tempo, o host remoto fecha a conexão. Eu tento digitar um novo comando, ele trava e fecha a conexão. Como posso manter a conexão ssh ativa por mais tempo?

$ ssh [email protected]
Last login: Tue Jan  3 03:09:39 2017 from c-99-99-99-99.hsd1.xx.comcast.net
[root@ip-172-99-99-99 ~]# groups
root bin daemon sys adm disk wheel
[root@ip-172-99-99-99 ~]# users
root root
[root@ip-172-99-99-99 ~]# less /etc/passwd
[root@ip-172-99-99-99 ~]# Connection reset by 52.99.99.99 port 22

O controle remoto é o CentOS na Amazon (AWS) e o local é o Cygwin.

    
por Chloe 03.01.2017 / 05:47

3 respostas

6

Como seu último login foi da comcast.net, acredito que você esteja se conectando de um sistema home , onde você está atrás de um roteador que está fazendo NAT. Um problema que um sistema fazendo NAT é saber quando a conexão não é mais desejada. Se a conexão é removida de forma limpa, então não há problema, mas se as duas máquinas simplesmente reiniciarem, não haverá sinal para a caixa NAT de que isso aconteceu. Portanto, sua caixa NAT típica tem temporizadores que dizem "se não houver tráfego por uma hora, então os dois endpoints claramente não enviarão mais nada" e recicla os recursos que o NAT estava usando.

Então, o mais importante é enviar tráfego de vez em quando. A maneira mais simples, supondo que você esteja usando a implementação openssh em sua máquina cygwin, é ativar o TCPKeepAlive. substituir

ssh [email protected]

com

ssh -o TCPKeepAlive=true [email protected]

Para uso a longo prazo, é melhor configurar um arquivo ~/.ssh/config .

 host fred
     hostname host.com
     user root
     TCPKeepAlive=true

e, em seguida, você poderá dizer apenas ssh fred para se conectar à máquina com a opção necessária.

    
por 03.01.2017 / 06:22
0

Ele está usando suas últimas chaves SSH de sessão salvas.

Você terá que excluí-lo e, em seguida, ssh adicionará novas chaves para o endereço IP que você está tentando acessar.

ssh-keygen -f "/home/asagarwal-dev/.ssh/known_hosts" -R 10.0.0.6

O comando acima resolveu meu problema (onde 10.0.0.6 é o endereço IP que eu estava tentando ssh do host).

    
por 14.06.2018 / 14:12
-3

Como o cliente ssh a configura abaixo aqui:

Host *
ServerAliveInterval 60

sudo source ~/.ssh/config

Todo host remoto configura abaixo aqui:

/etc/ssh/ssh_config

ServerAliveInterval 60
    
por 03.01.2017 / 06:38