Saya ingin menggunakan kunci SSH saya yang dilindungi frasa sandi saat melakukan tugas dengan parallel-ssh
(dan alat terkait). Namun, saya tidak bisa membuatnya bekerja.
Semua dokumentasi, mengenai parallel-ssh
, menunjukkan bahwa saya harus dapat menggunakan --askpass
atau -A
melakukan ini:
-A
--askpass
Prompt for a password and pass it to ssh. The password may be
used for either to unlock a key or for password authentication. The
password is transferred in a fairly secure manner (e.g., it will not
show up in argument lists). However, be aware that a root user on
your system could potentially intercept the password.
Namun, ketika saya memasukkan frasa sandi kunci saya, itu tidak berfungsi:
$ parallel-ssh --hosts=machines --user=my_user --askpass \
--timeout=0 --inline -v 'sudo apt-get update'
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password:
[1] 09:59:36 [FAILURE] amritiii Exited with error code 255
Stderr: Enter passphrase for key '/home/nhaigh/.ssh/id_rsa':
Permission denied (publickey,password).
[2] 09:59:37 [FAILURE] gbdev Exited with error code 255
Stderr: Enter passphrase for key '/home/nhaigh/.ssh/id_rsa':
Permission denied (publickey,password).
[3] 09:59:37 [FAILURE] code Exited with error code 255
Stderr: Enter passphrase for key '/home/nhaigh/.ssh/id_rsa':
Permission denied (publickey,password).
[4] 09:59:37 [FAILURE] apollo Exited with error code 255
Stderr: Enter passphrase for key '/home/nhaigh/.ssh/id_rsa':
Permission denied (publickey,password).
[5] 09:59:37 [FAILURE] odin Exited with error code 255
Stderr: Enter passphrase for key '/home/nhaigh/.ssh/id_rsa':
Permission denied (publickey,password).
[6] 09:59:37 [FAILURE] hathor Exited with error code 255
Stderr: Enter passphrase for key '/home/nhaigh/.ssh/id_rsa':
Permission denied (publickey,password).
[7] 09:59:37 [FAILURE] ldap Exited with error code 255
Stderr: Enter passphrase for key '/home/nhaigh/.ssh/id_rsa':
Permission denied (publickey,password).
[8] 09:59:37 [FAILURE] thor Exited with error code 255
Stderr: Enter passphrase for key '/home/nhaigh/.ssh/id_rsa':
Permission denied (publickey,password).
[9] 09:59:37 [FAILURE] bioserver Exited with error code 255
Stderr: Enter passphrase for key '/home/nhaigh/.ssh/id_rsa':
Permission denied (publickey,password).
Saya telah mengkonfirmasi bahwa kunci SSH dan frasa sandi saya berfungsi pada masing-masing mesin, jadi saya tidak tahu cara membuatnya berfungsi.
ssh
key-authentication
parallel-ssh
Nathan S. Watson-Haigh
sumber
sumber
parallel-ssh
danpssh
memang sama.Jawaban:
Dengan anggapan itu
parallel-ssh
danpssh
setara maka ya apa yang Anda coba lakukan harus bekerja dengan baik dengan mem-pipkan kata sandi dalam menggunakan-A
saklar.Contoh
Berikut adalah contoh di mana saya terhubung ke 2 sistem yang berbeda,
host1
danhost2
. Saya menggunakan-l
sakelarpssh
untuk menyediakan pengguna defaultroot
. Namun padahost2
saya menimpa ini di-H
saklar dengan menetapkan nama host sebagaiuser1@host2
.Ketika cara di atas berfungsi, Anda akan melihat output dari perintah yang saya jalankan
echo "hi"
,.Masalah Anda
Masalah yang Anda hadapi dengan frasa sandi pada pasangan kunci SSH Anda disebabkan oleh bug. Ini adalah bug berjudul: Edisi 80: Tidak lulus frasa sandi? . Komentar ke-4 untuk masalah itu menunjukkan tambalan:
kutipan
Referensi
sumber
parallel-ssh
danpssh
memang sama. Saya tidak bertanya apakah itu mungkin - dokumentasi menjelaskan bahwa itu mungkin. Saya mengalami kesulitan untuk membuatnya berfungsi seperti yang didokumentasikan.parallel-ssh
masih tidak yakin bagaimana cara terbaik untuk mendeteksi pertanyaan prompt kata sandi dan dengan demikian menanggapi dengan kata sandi / frasa yang dimasukkan, saya akan tetap menggunakan metode gantungan kunci saya. Saya tidak ingin frasa sandi saya diungkapkan secara tidak sengaja ke pertanyaan yang salah.parallel-ssh
meneruskan kata sandiSSH
. Namun, bagi mereka yang menemukan pertanyaan ini di kemudian hari, bug ini mungkin telah diperbaiki atau Anda dapat memilih untuk tidak mengeditaskpass_client.py
file. Dalam kedua kasus tersebut, Anda dapat menyiasatinya menggunakankeychain
jawaban ( unix.stackexchange.com/a/128998/57414 ) atau jawaban ssh-agent ( unix.stackexchange.com/a/129022/57414 )Saya berhasil mendapatkan ini berfungsi dengan menginstal
keychain
daripada secara manual menambal bug yang menyebabkan masalah saya.Instal dan Jalankan secara manual gantungan kunci
Jalankan Perintah tanpa Kata Sandi / Input Frasa Sandi
Sekarang kali ini saya tidak perlu frasa sandi saat menelepon
parallel-ssh
karena gantungan kunci menangani otentikasi:Jalankan gantungan kunci saat masuk
Daripada harus menjalankan secara manual dan menambahkan kunci Anda ke gantungan kunci, cukup tambahkan berikut ini di akhir Anda
~/.bash_profile
:Ini memastikan bahwa pada login pertama Anda, setelah reboot, Anda diminta untuk frasa sandi kunci Anda. Kunci Anda kemudian akan tetap di gantungan kunci sampai reboot berikutnya atau Anda menghapus gantungan kunci secara manual.
Pekerjaan Cron Menggunakan gantungan kunci
Dengan memasukkan di atas ke dalam
~/.bash_profile
file Anda, Anda dapat mengambil keuntungan dari fakta bahwa kunci Anda sekarang disimpan di gantungan kunci dengan membasahi file yang sama sebelum cronjob Anda dijalankan. Misalnya saya memiliki skrip cadangan yang berjalan pada pukul 21:00 setiap malam dan menyalin barang-barang ke komputer jarak jauh melalui SSH. Ini adalah entri di crontab saya (crontab -e
):sumber
Gunakan ssh-agent untuk mengotentikasi secara otomatis (dengan nama shell sebagai argumen untuk mengatur variabel lingkungan agen di shell baru itu). Tambahkan kunci dengan ssh-add dan ketik kata sandi Anda hanya sekali.
sumber