GNU/Linux >> Znalost Linux >  >> Linux

Ssh – Jak funguje Tcp-keepalive v Ssh?

Snažím se kódovat skript shellu, který používá připojení ssh pro provádění „tlukotů srdce“. Chci ukončit klientskou a serverovou stranu tohoto připojení po určitém časovém limitu (po přerušení připojení).

Co jsem zatím našel:

  • TCPKeepAlive ano/ne pro ssh a sshd
  • ClientAliveCountMax pro sshd
  • ClientAliveInterval pro sshd
  • ServerAliveCountMax pro ssh
  • ServerAliveInterval pro ssh

Pro změnu „ClientAliveCountMax“ bych musel upravit sshd_config na každém cílovém počítači (tato možnost je ve výchozím nastavení zakázána).

Moje otázka tedy zní – mohu pro své účely použít také „TCPKeepAlive“ (aniž bych měnil cokoli jiného na zdrojovém/cílovém počítači)?

Cílový operační systém je SLES11 SP2 – ale nemyslím si, že je to zde relevantní.

Přijatá odpověď:

K tomu budete pravděpodobně chtít použít nastavení ServerAlive. Nevyžadují žádnou konfiguraci na serveru a lze je nastavit na příkazovém řádku, pokud si přejete.

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

Tím se každých 5 sekund odešle zpráva ssh keepalive, a pokud přijde čas poslat další keepalive, ale odpověď na poslední nebyla přijata, spojení se ukončí.

Zásadní rozdíl mezi ServerAliveInterval a TCPKeepAlive je vrstva, na které působí.

  • TCPKeepAlive pracuje na vrstvě TCP. Odešle prázdný paket TCP ACK. Firewally lze nakonfigurovat tak, aby tyto pakety ignorovaly, takže pokud projdete firewallem, který ukončí nečinná připojení, nemusí připojení udržet naživu.
  • ServerAliveInterval funguje na vrstvě ssh. Ve skutečnosti bude odesílat data přes ssh, takže paket TCP má zašifrovaná data a firewall nedokáže určit, zda se jedná o udržovací nebo legitimní paket, takže fungují lépe.

Linux
  1. Co je Makefile a jak funguje?

  2. Co je NGINX? Jak to funguje?

  3. Co je webový server a jak webový server funguje?

  1. Jak funguje vidlicová bomba?

  2. Jak funguje příkaz ps?

  3. Jak funguje Kerberos s SSH?

  1. Jak Awk ‚!a[$0]++‘ funguje?

  2. Jak Sticky Bit funguje?

  3. Jak rm funguje? Co dělá rm?