Come posso risolvere una connessione ssh chiusa dall'host remoto a causa di inattività?


14

Attualmente sto provando a ssh su un colo, dopo 1 o 2 minuti di inattività, ottengo:

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

Finché sto scrivendo qualcosa nel terminale SSH, la connessione viene mantenuta. Non appena si verificano 1 o 2 minuti di inattività, viene visualizzato il messaggio sopra riportato. La macchina a cui sto tentando di connettermi è un'edizione server Ubuntu 12.04.1 LTS a 64 bit. Non è un server fisico ma un VMware guest. Sto frugando da un terminale Mac.

Si prega di non confondere questa domanda con simili su questo sito con la parola chiave ssh_exchange_identificationin esso, non è correlata.

Risposte:


17

Aggiungi quanto segue a $ HOME / .ssh / config e tutte le tue connessioni ssh invieranno un TCPKeepAlive ogni 30 secondi:

TCPKeepAlive yes
ServerAliveInterval 30

impossibile trovare il file di configurazione sul server
insoftservice il

Puoi creare il file nella tua home directory se non esiste
balkian

9

Se ci si collega da un computer Linux è possibile utilizzare alcune opzioni direttamente dalla riga di comando

TCPKeepAlive: utilizza l'opzione KEEPALIVE del protocollo TCP / IP per mantenere attiva una connessione dopo un intervallo di inattività specificato. Sulla maggior parte dei sistemi, ciò significa 2 ore. Quindi, con l'opzione TCPKeepAlive passata a SSH, il client SSH invierà un pacchetto crittografato al server SSH, mantenendo attiva e funzionante la connessione TCP.

ssh -o TCPKeepAlive=yes user@some.host.com

ServerAliveInterval: imposta un intervallo di timeout in secondi, specificato dall'utente, dal quale se nessun pacchetto viene inviato dal client SSH al server SSH, SSH invierà una richiesta crittografata al server per una risposta TCP. Per effettuare tale richiesta ogni 30 secondi:

ssh -o ServerAliveInterval=30 user@some.host.com

fonte


0

Devi "keepalive"

A seconda del tuo cliente, questo potrebbe essere banale o semplicemente facile: non dovrebbe essere più difficile!

Ad esempio, in putty è sull'opzione di connessione (imposta keepalive su un valore diverso da zero)


Dove posso impostare il keepalive? Sul server o dal mio mac? Dove devo impostare quel valore e qual è il valore raccomandato?
Thierry Lam,

Keepalive sarà sul client ... nel tuo caso, sul tuo Mac. Ci sarà un'opzione da qualche parte!
Andrew,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.