Come prevenire il timeout della connessione SSH in Linux

Se passate molto tempo alla riga di comando potreste aver incontrato un fastidioso problema per cui la vostra sessione si interrompe dopo un periodo relativamente breve di inattività. Mentre questo è desiderabile dal punto di vista della sicurezza, può causare problemi quando si cerca di eseguire un’operazione di lunga durata.
Di solito ciò che accade è che la vostra connessione al server viene resettata quando siete stati inattivi per un po’, producendo tipicamente l’errore: Connection reset by peer. Per aggirare questo problema, è necessario impostare un’opzione Keep Alive sul server.

Vedi anche : Installare e configurare OpenSSH-server su Linux

In questa guida, imparerete come prevenire il timeout della connessione SSH e mantenere viva la vostra sessione SSH anche dopo qualche inattività in Linux.

Aumentare il timeout della connessione SSH

Sul server, vai al file di configurazione /etc/ssh/sshd_config.

$ sudo vi /etc/ssh/sshd_config

Scorri e trova i seguenti parametri:

#ClientAliveInterval #ClientAliveCountMax

Dove,

  • ClientAliveInterval: Imposta un intervallo di timeout in secondi dopo il quale se non sono stati ricevuti dati dal client, sshd invierà un messaggio attraverso il canale criptato per richiedere una risposta dal client. Il valore predefinito è 0, che indica che questi messaggi non saranno inviati al client. Questa opzione si applica solo alla versione 2 del protocollo.
  • ClientAliveCountMax: Imposta il numero di messaggi client alive che possono essere inviati senza che sshd riceva alcun messaggio di ritorno dal client. Se questa soglia viene raggiunta mentre vengono inviati messaggi client alive, sshd disconnetterà il client, terminando la sessione.

Il valore di timeout è dato dal prodotto dei parametri precedenti i.e.

Timeout value = ClientAliveInterval * ClientAliveCountMax

Per esempio, diciamo che avete definito i vostri parametri come mostrato:

ClientAliveInterval 1200ClientAliveCountMax 3
Aumenta il timeout SSH

Il valore di timeout sarà 1200 secondi * 3 = 3600 secondi. Questo equivale a 1 ora, il che implica che la vostra sessione ssh rimarrà in vita per un tempo inattivo di 1 ora senza cadere.
In alternativa, potete ottenere lo stesso risultato specificando il solo parametro ClientAliveInterval.

ClientAliveInterval 3600

Una volta fatto, ricaricate il demone OpenSSH affinché le modifiche abbiano effetto.

$ sudo systemctl reload sshd

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.