Saya perlu mengotomatiskan ssh-keygen -t rsa
tanpa kata sandi yaitu masuk saat diminta.
Bagaimana saya bisa melakukannya dari skrip shell?
164
Untuk menghasilkan keypair SSH tanpa diminta frasa sandi, Anda dapat melakukan hal berikut:
$ ssh-keygen -f id_rsa -t rsa -N ''
ssh-keygen: option requires an argument -- N
" :(dzdo
perintah di depannya, jadi saya harus menulis:dzdo -i -u target_user ssh-keygen -f id_rsa -t rsa -N "''"
-N ''
adalah signifikan. Ketika saya menambahkan ruang itu berhasil!Jika Anda perlu melakukan ini dari PowerShell di windows gunakan:
perhatikan Anda juga harus memastikan direktori git bin ada di jalur Anda:
Kemudian untuk menggunakannya di PoshGit hanya saja:
sumber
git\usr\bin
adalah dir yang benar.ssh-keygen -f $Name -t rsq -N '""'
.'""'
'""'
adalah satu-satunya varian yang bekerja untuk saya.sumber
Hanya koreksi untuk menjawab 2 ... Saya menemukan pada sistem OL dan RHEL saya nama file harus id_rsa bukan id.rsa.
Jadi pada sistem OL atau RHEL perintahnya adalah:
sumber
id_rsa
adalah nama file default untuk kunci RSA, jadi jika Anda ingin tetap menggunakan default, Anda tidak dipaksa untuk secara eksplisit menggunakan-f
opsi.-f
opsi adalah agar Anda dapat menjalankan ini dalam skrip. Anda bisa menegaskan kembali default untuk menonaktifkan prompt berikutnya.Bagaimana dengan :
Sebagaimana dicatat dalam
man ssh-keygen
:(yaitu dengan
openssh-client
paket di Debian 9.4 peregangan:OpenSSH_6.7p1 Debian-5+deb8u4
)sumber
Saya perlu mengotomatiskan dalam bash script perintah ssh-keygen dan jawaban akhir yang bekerja dengan baik untuk saya:
Perintah echo dengan -e mengartikan "\ n" sebagai kunci Enter, tetapi tidak bekerja dengan frasa sandi. Kemudian menggunakan opsi -N "" (kata sandi kosong) kata sandi akan kosong dan tidak akan meminta apa pun. &> / dev / null akan mengirim 'stdout' dan 'stderr' ke / dev / null sehingga tidak ada yang dicetak melalui layar.
sumber
sumber