Come mantenere vivi i tunnel SSH con Autossh

23 feb 2023 2 min di lettura
Come mantenere vivi i tunnel SSH con Autossh
Indice dei contenuti

Introduzione

Autossh è un programma open-source che permette di mantenere una connessione SSH attiva in modo affidabile, anche in presenza di interruzioni di rete o di disconnessioni accidentali.

Autossh funziona riconnettendosi automaticamente in caso di interruzioni di rete, ripristinando la connessione SSH esistente senza la necessità di intervenire manualmente. Inoltre, Autossh è in grado di riprendere le connessioni interrotte in modo automatico senza la necessità di reimpostare la password di autenticazione.

In pratica, Autossh funziona come un wrapper attorno al programma SSH standard, fornendo un controllo aggiuntivo sulle connessioni SSH e la gestione degli errori di rete. Ciò rende Autossh una soluzione molto utile per le connessioni SSH crittografate e affidabili, in particolare per applicazioni che richiedono una connessione costante, come ad esempio il controllo remoto di un server o l'accesso a risorse di rete da remoto.

Installare Autossh

Autossh è disponibile nei repository di pacchetti della maggior parte delle distribuzioni Linux. Per installarlo, apri un terminale ed esegui il seguente comando:

sudo apt-get install autossh 

Se stai utilizzando un gestore di pacchetti diverso, puoi cercare e installare il pacchetto "autossh" utilizzando il comando appropriato.

Configurare un tunnel SSH

Prima di poter utilizzare Autossh, dobbiamo configurare un tunnel SSH che possa gestire. In questo esempio, creeremo un tunnel che inoltra la porta locale 8080 alla porta 80 su un server remoto.

Per creare il tunnel, esegui il seguente comando in un terminale:

ssh -L 8080:localhost:80 remote-user@remote-server 

Questo comando stabilirà una connessione SSH al server remoto e creerà un tunnel che inoltra il traffico dalla porta 8080 sulla tua macchina locale alla porta 80 sul server remoto.

Una volta stabilito il tunnel SSH, puoi testarlo aprendo un browser Web e navigando su http://localhost:8080. Se tutto è impostato correttamente, dovresti vedere la pagina Web predefinita per il server remoto.

Utilizzare Autossh per gestire il tunnel SSH

Ora che abbiamo un tunnel SSH configurato e funzionante, possiamo usare Autossh per riavviare automaticamente il tunnel se è disconnesso o interrotto.

Per utilizzare Autossh, dobbiamo modificare il comando SSH utilizzato per creare il tunnel. Ecco un esempio:

autossh -M 0 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -N -f -L 8080:localhost:80 remote-user@remote-server 

Questo comando è simile al comando SSH utilizzato in precedenza per creare il tunnel, ma include alcune opzioni aggiuntive che indicano ad Autossh di gestire il tunnel.

  • L' -M 0opzione indica ad Autossh di utilizzare una porta di monitoraggio integrata per rilevare se il tunnel SSH si è disconnesso.
  • Le opzioni -o "ServerAliveInterval 30"e -o "ServerAliveCountMax 3"indicano ad Autossh di inviare pacchetti keepalive ogni 30 secondi e di tentare di riconnettersi se tre pacchetti keepalive consecutivi falliscono.
  • Le -N -fopzioni dicono a SSH di creare il tunnel in background senza eseguire alcun comando remoto.

Testare Autossh

Per testare Autossh, disconnettere la connessione Internet o arrestare manualmente il tunnel SSH premendo `CTRL + C` . Autossh dovrebbe rilevare che il tunnel è stato disconnesso e riavviarlo automaticamente.

Puoi verificare che il tunnel sia stato riavviato accedendo a http://localhost:8080 nel tuo browser web.

Conclusione

In questo articolo, abbiamo spiegato come installare e utilizzare Autossh su Linux. Autossh può essere uno strumento prezioso per mantenere connessioni SSH persistenti su connessioni di rete instabili o inaffidabili. Utilizzando Autossh, puoi assicurarti che i tuoi tunnel SSH rimangano operativi anche se la connessione viene interrotta.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.