Per chi se lo chiede, @edward-coast
Se vuoi impostare il keep-alive per il server, aggiungilo a /etc/ssh/sshd_config
:
ClientAliveInterval 60
ClientAliveCountMax 2
ClientAliveInterval :Imposta un intervallo di timeout in secondi dopo il quale se non sono stati ricevuti dati dal client, sshd(8) invierà un messaggio attraverso il canale crittografato per richiedere una risposta dal client.
ClientAliveCountMax :Imposta il numero di messaggi attivi del client (vedi sotto) che possono essere inviati senza che sshd(8) riceva alcun messaggio dal client. Se questa soglia viene raggiunta durante l'invio dei messaggi del client attivo, sshd disconnetterà il client, terminando la sessione.
Il demone ssh (sshd), che viene eseguito sul lato server, chiude la connessione dal lato server se il client diventa silenzioso (ovvero, non invia informazioni). Per prevenire la perdita di connessione, chiedi al client ssh di inviare un segnale di funzionalità vitale al server di tanto in tanto.
La configurazione per questo è nel file $HOME/.ssh/config
, crea il file se non esiste (il file di configurazione non deve essere leggibile da tutti, quindi esegui chmod 600 ~/.ssh/config
dopo aver creato il file). Per inviare il segnale ogni ad es. quattro minuti (240 secondi) all'host remoto, inserisci quanto segue in quel file di configurazione:
Host remotehost
HostName remotehost.com
ServerAliveInterval 240
Per abilitare l'invio di un segnale keep-alive per tutti gli host, inserisci i seguenti contenuti nel file di configurazione:
Host *
ServerAliveInterval 240
Volevo una soluzione una tantum:
ssh -o ServerAliveInterval=60 [email protected]
Memorizzato in un alias:
alias sshprod='ssh -v -o ServerAliveInterval=60 [email protected]'
Ora puoi connetterti in questo modo:
[email protected]:~$ sshprod