Prevenire il timeout della connessione SSH / il tubo rotto

Come impedire a una sessione SSH di disconnettersi da un server. Connessione scaduta o tubo rotto

Sia come utente di Windows così come da Mac (negli ultimi 10 anni) ci ho passato molto tempo Connessioni SSH a server web, server di posta elettronica, cloud e altri pacchetti di backup. La distribuzione preferita di Linux è senza dubbio CentOS.

Una delle cose più stressanti per gli amministratori di server è per interrompere le connessioni SSH. O all'improvviso mentre si abbottona Putty o Terminal (il più delle volte si tratta di un problema di connessione locale) o dopo un po 'di "inattivo"- il periodo di tempo in cui non interagisce con il server remoto tramite la sessione SSH.

Se si utilizza il Mac e utilizza lo strumento Terminale per la connessione remota tramite SSH, poi sicuramente dopo un periodo di inattività sei stato disconnesso con il messaggio: "client_loop: invia disconnessione: tubo rotto". Ho dato la soluzione l'articolo qui, in cui ho detto che può essere aggiunto in "/etc/ssh/ssh_config" la linea:

Host *
ServerAliveInterval 120

La soluzione di cui sopra è valida per gli utenti di Mace, onestamente, essere gli ultimi aggiornamenti di macOS non mi dispiace restart modifiche apportate al file "ssh_config", E si ripresenta il problema con la disconnessione di una sessione inattiva.

Una soluzione grazie alla quale possiamo impedire la disconnessione di una sessione SSH a una distanza stabilita da terminal (macOS) o stucco (Windows), è come inoltre "ServerAliveInterval"Dal nostro computer, per determinare il server remoto per comunicare periodicamente con l'applicazione / client SSH.
Ecco perché dobbiamo mettere la direttiva "ClientAliveInterval" nel "sshd_config"Sul server a cui ci stiamo connettendo.

Prevenire il timeout della connessione SSH / il tubo rotto (Suggerimenti per ssh_config)

1. Ci colleghiamo al server che vogliamo attivare e impostiamo un intervallo di tempo per "ClientAliveInternal". Apriamo SSH in Putty, Terminal o altre utilità simili e ci autenticiamo con l'utente root.

ssh [email protected]

2. Eseguire la riga di comando per cercare il file "sshd_config" se "ClientAliveInterval" è attivo e quale periodo di tempo è impostato.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

Nel nostro scenario "ClientAliveInterval" è disabilitato e il valore dell'intervallo di tempo è zero.

[[email protected] ~]# sudo grep "ClientAliveInterval" /etc/ssh/sshd_config
#ClientAliveInterval 0
[[email protected] ~]# 

L'hashtag "#"Posto davanti a una riga, lo annulla. È inattiva.

3. Apriamo con l'editor "nano"O"vim"File"sshd_config“. Preferisco "nano".

sudo nano /etc/ssh/sshd_config

4. Elimina "#"Di fronte alla linea"ClientAliveInterval"E imposta un numero di secondi: 60, 120 ...

ClientAliveInterval 120
ClientAliveCountMax 10

5. Salvare le modifiche e restartHo il servizio "sshd".

sudo systemctl restart sshd

ClientAliveInterval : È l'intervallo di tempo in secondi durante il quale il server invia un pacchetto di dati nullo al client / applicazione tramite il quale siamo connessi al server. Questa pratica manterrà la connessione viva / attiva.

ClientAliveCountMax : Client SSH che non rispondono in 10 cicli di 120 secondi (impostato da “ClientAliveInterval”) la connessione verrà interrotta. Cioè, dopo 20 minuti in cui il client SSH non ha risposto ai pacchetti nulli inviati dal server.

Con queste modifiche la connessione SSH sarà più stabile e rimarrà altrettanto sicura.

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

Totale
0
azioni
Articolo Precedente

Come vediamo cosa cercano gli utenti su un sito WordPress o su un negozio online WooCommerce (query nella casella di ricerca)

Articolo successivo

Non riesci a sentire il suono sul "Cestino vuoto"? [Come risolvere]