GNU/Linux >> Linux Esercitazione >  >> Linux

Ssh – Come funziona Tcp-keepalive in Ssh?

Sto provando a codificare uno script di shell che utilizza una connessione ssh per eseguire "battiti cardiaci". Voglio terminare il lato client e server di quella connessione dopo un certo timeout (dopo che la connessione si interrompe).

Cosa ho trovato finora:

  • TCPKeepAlive sì/no per ssh e sshd
  • ClientAliveCountMax per sshd
  • Intervallo ClientAlive per sshd
  • ServerAliveCountMax per ssh
  • Intervallo ServerAlive per ssh

Per modificare "ClientAliveCountMax" dovrei modificare sshd_config su ogni macchina di destinazione (questa opzione è disabilitata per impostazione predefinita).

Quindi la mia domanda è:posso usare "TCPKeepAlive" anche per i miei scopi (senza modificare nient'altro sulle macchine di origine/destinazione)?

Il sistema operativo di destinazione è SLES11 SP2, ma non credo che sia rilevante qui.

Risposta accettata:

Probabilmente vorrai usare le impostazioni di ServerAlive per questo. Non richiedono alcuna configurazione sul server e possono essere impostati dalla riga di comando se lo si desidera.

ssh -o ServerAliveInterval=5 -o ServerAliveCountMax=1 $HOST

Questo invierà un messaggio ssh keepalive ogni 5 secondi, e se arriva il momento di inviare un altro keepalive, ma non è stata ricevuta una risposta all'ultimo, la connessione viene interrotta.

La differenza fondamentale tra ServerAliveInterval e TCPKeepAlive è il livello in cui operano.

  • TCPKeepAlive opera sul livello TCP. Invia un pacchetto TCP ACK vuoto. I firewall possono essere configurati per ignorare questi pacchetti, quindi se passi attraverso un firewall che interrompe le connessioni inattive, queste potrebbero non mantenere attiva la connessione.
  • ServerAliveInterval opera sul livello ssh. In realtà invierà i dati tramite ssh, quindi il pacchetto TCP contiene dati crittografati e un firewall non può dire se è un pacchetto keepalive o legittimo, quindi funzionano meglio.

Linux
  1. Che cos'è un Makefile e come funziona?

  2. Come funziona il bit appiccicoso?

  3. Come funziona una bomba a forcella?

  4. Come funziona rm? Cosa fa rm?

  5. Come funziona l'interfaccia di loopback

Come funziona Git?

Come funziona SFTP?

Ssh:come funziona il tunneling Ssh inverso?

Linux:come funziona il display di Linux?

Come funziona la memoria di scambio in Linux?

Come funziona il display di Linux?