GNU/Linux >> Belajar Linux >  >> Linux

tulis skrip shell ke ssh ke mesin jarak jauh dan jalankan perintah

Ada beberapa mesin linux jarak jauh, dan saya perlu menulis skrip shell yang akan menjalankan kumpulan perintah yang sama di setiap mesin. (Termasuk beberapa operasi sudo). Bagaimana ini bisa dilakukan dengan menggunakan skrip shell?

Anda dapat melakukannya dengan ssh, misalnya:

#!/bin/bash
USERNAME=someUser
HOSTS="host1 host2 host3"
SCRIPT="pwd; ls"
for HOSTNAME in ${HOSTS} ; do
    ssh -l ${USERNAME} ${HOSTNAME} "${SCRIPT}"
done

Saat melakukan ssh'ing ke mesin jarak jauh, cara menangani saat meminta autentikasi sidik jari RSA.

Anda dapat menambahkan StrictHostKeyChecking=no opsi untuk ssh:

ssh -o StrictHostKeyChecking=no -l username hostname "pwd; ls"

Ini akan menonaktifkan pemeriksaan kunci host dan secara otomatis menambahkan kunci host ke daftar host yang dikenal. Jika Anda tidak ingin host ditambahkan ke file host yang dikenal, tambahkan opsi -o UserKnownHostsFile=/dev/null .

Perhatikan bahwa ini menonaktifkan pemeriksaan keamanan tertentu , misalnya perlindungan terhadap serangan man-in-the-middle. Oleh karena itu, fitur ini tidak boleh diterapkan di lingkungan yang sensitif terhadap keamanan.


Instal sshpass menggunakan, apt-get install sshpass kemudian edit skrip dan letakkan IP, nama pengguna, dan kata sandi mesin linux Anda dalam urutan masing-masing. Setelah itu jalankan skrip itu. Itu dia ! Skrip ini akan menginstal VLC di semua sistem.

#!/bin/bash
SCRIPT="cd Desktop; pwd;  echo -e 'PASSWORD' | sudo -S apt-get install vlc"
HOSTS=("192.168.1.121" "192.168.1.122" "192.168.1.123")
USERNAMES=("username1" "username2" "username3")
PASSWORDS=("password1" "password2" "password3")
for i in ${!HOSTS[*]} ; do
     echo ${HOSTS[i]}
     SCR=${SCRIPT/PASSWORD/${PASSWORDS[i]}}
     sshpass -p ${PASSWORDS[i]} ssh -l ${USERNAMES[i]} ${HOSTS[i]} "${SCR}"
done

Linux
  1. Lanjutkan Perintah Shell Setelah Terhubung ke Ssh?

  2. 4 Cara Mengeksekusi Shell Script di UNIX / Linux

  3. 5 Cara Mengeksekusi Perintah UNIX / Linux (dan Skrip Shell) di Latar Belakang

  1. Campuran skrip shell dan python mungkin?

  2. Cara terbaik untuk membuat skrip perintah SSH jarak jauh di Batch (Windows)

  3. Salin kunci ssh saya ke mesin jarak jauh melalui ssh-copy-id dalam skrip tanpa prompt?

  1. Di Bash, Kapan Alias ​​​​Kapan Skrip, Dan Kapan Menulis Fungsi?

  2. Ssh – Jalankan Perintah Jarak Jauh, Lepas Sepenuhnya Dari Koneksi Ssh?

  3. Perilaku Tak Terduga Dari Skrip Shell?