GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa membuat koneksi SSH yang persisten untuk mengalirkan perintah selama periode waktu tertentu?

Persistensi Otomatis Menggunakan OpenSSH

Anda juga dapat menggunakan ControlMaster fitur OpenSSH, yang membuka soket domain unix untuk koneksi pertama dan menggunakan kembali koneksi ini di semua panggilan berikutnya.

Untuk mengaktifkan fitur ini, Anda dapat menggunakan -M sebagai pengalih baris perintah atau aktifkan ControlMaster di ~/.ssh/ssh_config Anda , misalnya:

ControlMaster auto

Selain itu, Anda harus menyetel ControlPath menggunakan baris berikut di ~/.ssh/ssh_config Anda :

Host *
   ControlPath ~/.ssh/master-%[email protected]%h:%p

Untuk mempertahankan koneksi tetap ke host, mis. jika Anda ingin menjalankan skrip yang perlu membuat banyak koneksi ssh ke host, tidak ada yang bertahan sepanjang masa pakai skrip, Anda dapat memulai koneksi diam terlebih dahulu menggunakan:

ssh -MNf remotehost

Cheerio,nesono


Tidak yakin apakah itu dapat digunakan dalam produksi tetapi Anda dapat melakukan sesuatu seperti ini:

buat file di #1

1> touch /tmp/commands

Kemudian jalankan perintah:

1> tail -f /tmp/commands | ssh [email protected]

Itu akan membuka file /tmp/commands dan mulai mengirimkan kontennya ke server x.x.x.x (#2) dan menjalankannya di sana baris demi baris

sekarang, setiap kali sesuatu terjadi pada #1, lakukan:

1> echo "ls -l" >> /tmp/commands

atau

1> echo "reboot" >> /tmp/commands

apa pun yang Anda tambahkan ke file /tmp/commands akan dikirim ke #2 dan dieksekusi. Pastikan Anda tidak menjalankan apa pun yang interaktif, atau menanganinya dengan cara apa pun.


Di /etc/ssh/ssh_config tambahkan

# Send keep alive signal to remote sshd
ServerAliveInterval 60

Linux
  1. Cara Membuat dan Meluncurkan Kontainer Linux LXC dengan Perintah LXC

  2. Bagaimana systemd-tmpfiles membersihkan /tmp/ atau /var/tmp (pengganti tmpwatch) di CentOS / RHEL 7

  3. Cara menonaktifkan penghapusan otomatis file di direktori /tmp dan /var/tmp di CentOS / RHEL 5,6

  1. Bagaimana saya bisa menggunakan perintah alias dengan xargs?

  2. Bagaimana saya bisa membaca dokumentasi tentang perintah zsh bawaan?

  3. Bagaimana cara mengatur pelengkapan otomatis untuk perintah Git?

  1. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?

  2. Bagaimana cara menjalankan perintah secara otomatis pada login SSH?

  3. Atur waktu waktu eksekusi beberapa perintah