GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Mengetik Kata Sandi Untuk Banyak Windows?

Saya memiliki skrip yang memulai mesin gelandangan saya, membuka banyak terminal dan menghubungkan ke mesin gelandangan melalui ssh di setiap terminal yang baru dibuka. Masalah saya adalah saya membutuhkan sekitar lima terminal, dan saya tidak ingin mengetikkan kata sandi untuk setiap terminal secara manual. Apakah ada cara untuk mendapatkan kata sandi hanya sekali di terminal utama, dan menggunakan kata sandi yang sama untuk perintah ssh?

#!/bin/bash
cd /home/kkri/public_html/freitag/vagrant
vagrant up
for run in $(seq 1 $1)
 do
  gnome-terminal --window-with-profile=dark -e "ssh [email protected] -p 2222" --$
 done
gnome-terminal --window-with-profile=git          
clear
echo "~~~ Have fun! ~~~"

Jawaban yang Diterima:

Secara umum (mengabaikan gelandangan atau detail khusus sistem lainnya) cara terbaik Anda adalah mengatur otentikasi dengan kunci SSH, dan menjalankan ssh-agent . Kemudian buka sesi ssh dengan sesuatu seperti:

# load the key to the agent with a 10 s timeout
# this asks for the key passphrase
ssh-add -t10  ~/.ssh/id_rsa  
for x in 1 2 3 ; do 
    ssh .... 
done

Atau, jika Anda tidak dapat menggunakan kunci, Anda dapat memasang sesuatu dengan sshpass .

read -p "Enter password: " -s SSHPASS ; echo
for x in 1 2 3 ; do 
    sshpass -e ssh ...
done
unset SSHPASS

Meskipun dengan terminal di tengah, ini akan membuat kata sandi disetel di lingkungan terminal. Untuk mengatasinya, Anda dapat menyimpan kata sandi untuk sementara di file:

read -p "Enter password: " -s SSHPASS ; echo
PWFILE=~/.ssh/secret_password
cat <<< "$SSHPASS" > "$PWFILE"
unset SSHPASS
for x in 1 2 3 ; do 
    sshpass -f "$PWFILE" ssh ...
done
shred --remove "$PWFILE"

Ini masih belum optimal karena ada kemungkinan kata sandi masuk ke disk, jadi kuncinya akan lebih baik.


Linux
  1. Cara Membuat gambar Windows untuk OpenStack

  2. Bagaimana Mengkonfigurasi Beberapa Lingkungan Penerapan Untuk Juju??

  3. Cara Menonaktifkan Login SSH Dengan Kata Sandi

  1. Bagaimana cara membuat git tidak meminta kata sandi saat menarik?

  2. Bagaimana cara chown direktori untuk banyak pengguna?

  3. bagaimana cara menonaktifkan login SSH dengan kata sandi untuk beberapa pengguna?

  1. Cara Mengatur Login SSH Tanpa Kata Sandi

  2. Ssh – Bagaimana Ssh Meminta Kata Sandi Saat Semua Input dan Output Dialihkan?

  3. Rsync dengan SSH meminta kata sandi jarak jauh