Keeping SSH connections alive

sabato, 14 ottobre 2006

Vi è mai capitato di loggarvi su un server remoto tramite SSH e di trovare dopo qualche minuto di inattività la connessione chiusa? A me sì, ed a volte è davvero scocciante. Per evitare che succeda esistono fondamentalmente 2 soluzioni: una lato server e un’altra lato client. In questo post prenderò in considerazione la prima soluzione.

Per risolvere il problema, è sufficiente modificare il file di configurazione /etc/ssh/sshd_config aggiungendo le seguenti opzioni:

ClientAliveInterval 15
ClientAliveCountMax 5

Utilizzare queste opzioni al posto del più classico TCPKeepAlive è consigliabile in quanto così facendo i messaggi per tenere viva la connessione vengono inviati tramite il canale criptato e non sono perciò spoofabili.

Se come me utilizzate come distribuzione una Debian Sarge, troverete probabilmente nel vostro file di configurazione l’opzione KeepAlive impostata a yes di default. Cancellatela e sostituitela con TCPKeepAlive (l’utilizzo di KeepAlive è deprecato e tra l’altro non è nemmeno contemplata nel manuale):

TCPKeepAlive no

Con i valori utilizzati nell’esempio, un client che non risponde verrà disconnesso automaticamente dopo 75 secondi (15 x 5).

Dopo aver modificato la configurazione è necessario riavviare sshd per applicare le modifiche:

sudo invoke-rc.d ssh restart
Puoi lasciare un commento, oppure fare il trackback dal tuo sito.

Leave a reply

Name (*)
Mail (will not be published) (*)
URI
Comment