Come evitare che l'autossh rimanga bloccato di tanto in tanto?


12

Sto usando autosshper costruire un tunnel SSH inverso, ma di tanto in tanto il tunnel smette di funzionare e ho bisogno di uccidere l'autossh e ricominciare.

/etc/cron.d/autossh
@reboot autossh -f -nNT -R 3269:intranet.example.com:3269 public.example.com &

l'autossh sembra rimanere in uno stato strano, dove la porta inoltrata è ancora aperta ma non si ottiene risposta dall'altra parte. Riavviando autossh questo è risolto.

Come posso evitare questo problema?

Risposte:


6

Utilizzare il ServerAliveInterval(con un valore in secondi) per fare in modo che il ssh client invii un pacchetto null (keepalive) sul canale crittografato ogni tanto per rilevare una connessione interrotta:

/etc/cron.d/autossh
@reboot autossh -f -nNT -R 3269:intranet.example.com:3269 -o ServerAliveInterval=30 public.example.com &

Probabilmente dovresti anche configurare l' ClientAliveIntervalimpostazione corrispondente /etc/ssh/sshd_configsul tuo server per fare in modo che anche il server lasci cadere le connessioni client morte:

# Drop dead client connections after 10 minutes of inactivity
ClientAliveInterval 600
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.