Automatická perzistence pomocí OpenSSH
Můžete také použít ControlMaster
funkce OpenSSH, která otevírá unixovou doménu pro první připojení a znovu používá toto připojení ve všech následujících voláních.
Chcete-li tuto funkci povolit, můžete použít -M
jako přepínač příkazového řádku nebo aktivujte ControlMaster
možnost ve vašem ~/.ssh/ssh_config
, např.:
ControlMaster auto
Kromě toho byste měli nastavit ControlPath
pomocí následujících řádků ve vašem ~/.ssh/ssh_config
:
Host *
ControlPath ~/.ssh/master-%[email protected]%h:%p
Chcete-li udržovat trvalé připojení k hostiteli, např. pokud chcete spustit skript, který potřebuje vytvořit mnoho ssh připojení k hostiteli, z nichž žádné není trvalé po celou dobu životnosti skriptu, můžete předem spustit tiché připojení pomocí:
ssh -MNf remotehost
Nazdar, nesono
Nejste si jisti, zda to lze použít ve výrobě, ale můžete udělat něco takového:
vytvořte soubor na #1
1> touch /tmp/commands
Poté spusťte příkaz:
1> tail -f /tmp/commands | ssh [email protected]
Tím se otevře soubor /tmp/commands a začne se odesílat jeho obsah na server x.x.x.x (#2) a spustí se tam řádek po řádku
teď, pokaždé, když se něco stane na #1, udělejte:
1> echo "ls -l" >> /tmp/commands
nebo
1> echo "reboot" >> /tmp/commands
cokoli přidáte do souboru /tmp/commands, bude odesláno do #2 a vykonáno. Jen se ujistěte, že nespouštíte nic interaktivního, nebo se s tím nějak vypořádejte.
V /etc/ssh/ssh_config
přidat
# Send keep alive signal to remote sshd
ServerAliveInterval 60