Come aumentare il timeout di connessione SSH

Come aumentare il timeout di connessione SSH
Se l'utente rimane inattivo per periodi lunghi dopo la connessione a un server remoto, l'utente deve connettersi di nuovo con il server utilizzando SSH. La connessione del server si ripristina se l'utente non svolge alcuna attività per un po '. È necessario per scopi di sicurezza. Ma quando l'utente cerca di eseguire qualsiasi attività sul server che necessita di tempi lunghi da completare, l'utente dovrà accedere più volte dopo un determinato tempo. A volte diventa molto irritante per l'utente. L'utente richiederà di aumentare il timeout di connessione SSH per risolvere questo problema; Può essere fatto in due modi. Un modo è impostare le opzioni Keep-Alive nel file di configurazione del server e un altro modo è impostare l'opzione Keep-Alive nel file di configurazione del client. Entrambi i modi sono stati spiegati in questo tutorial.

Prerequisiti:

Prima di iniziare i passaggi di questo tutorial, saranno necessari i seguenti passaggi.

Abilita il servizio SSH su Ubuntu se non è abilitato prima.

Genera le coppie di tasti SSH per eseguire i comandi nel server remoto. Esegui il comando seguente per creare la chiave pubblica e la chiave privata. La chiave privata sarà archiviata nel server remoto e le chiavi pubbliche saranno archiviate in modo sicuro nel client.

$ ssh -keygen -t rsa

Eseguire il comando seguente per aprire il sshd_config File usando nano editor per aggiungere alcune configurazioni necessarie.

$ sudo nano/etc/ssh/sshd_config

Aggiungi le seguenti righe nel file per abilitare l'accesso root e l'autenticazione basata su password.

Passwordautenticazione Sì
Per altirootlogin Sì

Esegui il comando seguente per riavviare il servizio SSH.

$ sudo servizio ssh riavvio

Impostare le opzioni Keep-Alive nel file di configurazione del server:

Un modo per aumentare il timeout di connessione SSH è modificare il file di configurazione della macchina del server. Ma questo non è un modo sicuro perché questa impostazione sarà applicabile per tutte le macchine client che si connetteranno con la macchina del server. Quindi, il modo alternativo per aumentare la connessione SSH è un'opzione migliore che è stata descritta nella prossima parte del tutorial. Accedi alla macchina del server e apri il /etc/ssh/sshd_config File da qualsiasi editor per impostare i valori dei parametri necessari per la configurazione lato server. I valori del ClienaliveInterval E ClieonaliveCountMax I parametri sono impostati per aumentare il timeout di connessione SSH. ClienaliveInterval viene utilizzato per impostare l'intervallo di timeout in pochi secondi. Se non vengono passati dati dopo il tempo assegnato in questo parametro, il server invierà un messaggio di richiesta al client tramite il canale crittografato per la risposta. Il valore predefinito di questo parametro è 0. ClieonaliveCountMax viene utilizzato per impostare il numero di messaggi vivi dal client. Quando viene raggiunto il valore di questo parametro, ma il server non riceve alcuna risposta dal client, il server scollega la connessione. Quindi, il valore di timeout totale è calcolato dalla seguente formula.

Timeout Value = CallingAliveInterval * CallAliveCountMax

Esegui il comando seguente per aprire il file utilizzando Nano Editor e impostare 3600 secondi per il valore ClienaliveInterval e 3 per il valore ClienaliveCountMax.

$ sudo nano/etc/ssh/sshd_config

Imposta i valori come la seguente immagine. Secondo la formula sopra, il server disconnetterà la connessione dopo 10800 (3600 × 3) secondi se il client non invia alcuna risposta. Quindi, il server sarà vivo per 10800 secondi o 180 minuti.

Ora, esegui il comando seguente per riavviare il server.

$ sudo systemctl riavvio sshd

Impostare le opzioni Keep-Alive nel file di configurazione del client:

Un altro modo per aumentare il timeout di connessione SSH è modificare il file di configurazione del computer client ed è più sicuro dell'opzione precedente. Accedi alla macchina client e apri il file/etc/ssh/ssh_config per impostare i valori dei parametri necessari per aumentare il timeout di connessione SS. ServerAliveInterval E ServeraliveCountMax I parametri sono impostati per aumentare il timeout di connessione. Questi parametri funzionano in modo simile ai parametri di configurazione lato server. ServerAliveInterval viene utilizzato per impostare l'intervallo di timeout in pochi secondi e ServeraliveCountMax viene utilizzato per impostare il numero di messaggi vivi dal server. Il client invia un pacchetto al server in ciascun intervallo definito in ServerAliveInterval. IOf Il client non riceve alcuna risposta dal server dopo aver provato il valore assegnato in ServeraliveCountMax, quindi il client disconnetterà la connessione.

Esegui il comando seguente per aprire il file utilizzando Nano Editor e impostare 180 secondi per il ServerAliveInterval valore e 4 per il ServeraliveCountMax valore.

$ sudo nano/etc/ssh/ssh_config

Aggiungi le seguenti righe alla fine del file. Secondo il valore assegnato, il client invierà un pacchetto a ogni 180 secondi o 3 minuti 4 volte. Se il server non invia alcuna risposta entro 720 (180 × 4) secondi o 12 minuti, la connessione verrà disconnessa automaticamente dal client. Qui, il valore host del server è "Fahmida" e l'indirizzo IP del nome host è 10.0.2.15.

Ospita Fahmida
Nome host 10.0.2.15
ServerAliveInterval 180
ServeraliveCountMax 4


Modifica il file come la seguente immagine.

Dopo aver utilizzato uno dei modi sopra menzionati, accedi al computer client ed esegui il comando SSH dal terminale per connettersi con il server. Dovrai diventare inattivo per lunghi tempi sul computer client per verificare che il tempo di connessione SSH sia aumentato o meno. Il server disconnetterà la connessione se rimane inattivo per 180 minuti e il client disconnetterà la connessione se rimane inattivo per 12 minuti.

Conclusione:

In questo tutorial sono stati mostrati modi sicuri e insicuri per aumentare il timeout di connessione SSH per aiutare gli utenti a mantenere viva la propria connessione SSH per vari scopi.