GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu vytvořit trvalé připojení SSH pro streamování příkazů po určitou dobu?

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

Linux
  1. Jak vytvořit a spustit kontejnery LXC Linux pomocí příkazů LXC

  2. Jak zakázat automatické mazání souborů v adresářích /tmp a /var/tmp v CentOS / RHEL 5,6

  3. Jak omezit uživatele SSH na předdefinovanou sadu příkazů po přihlášení?

  1. Jak mohu používat aliasované příkazy s xargs?

  2. Jak mohu nastavit automatické dokončování pro příkazy Git?

  3. Kdy mám použít /dev/shm/ a kdy /tmp/?

  1. Jak automaticky spouštět příkazy při přihlášení SSH?

  2. Jak mohu zkontrolovat, co zabírá místo na disku v /tmp?

  3. Jak mohu zaznamenat příkazy Linuxu?