Prevenire il timeout della connessione SSH / il 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 root@server.hostname

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.

[root@buffy ~]# sudo grep "ClientAliveInterval" /etc/ssh/sshd_config
#ClientAliveInterval 0
[root@buffy ~]# 

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.

Appassionato di tecnologia, mi piace testare e scrivere tutorial sui sistemi operativi macOS, Linux, Windows, sulla configurazione del server web WordPress, WooCommerce e LEMP (Linux, NGINX, MySQL e PHP). scrivo su StealthSettings.com dal 2006, e qualche anno dopo ho iniziato a scrivere su iHowTo.Tips tutorial e notizie sui dispositivi nell'ecosistema Apple: iPhone, iPad, Apple Guarda, HomePod, iMac, MacBook, AirPods e accessori.

Lascia un tuo commento