Saya ingin membuat skrip otomatis yang memanggil ssh-keygen
dan membuat beberapa pub / private keypairs yang akan saya gunakan nanti. Pada prinsipnya semuanya bekerja dengan baik ...
ssh-keygen -b 2048 -t rsa -f /tmp/sshkey -q
... kecuali bahwa ia meminta saya untuk frasa sandi yang akan mengenkripsi kunci. Ini membuat -pada saat ini- otomatisasi sulit.
Saya bisa memberikan frasa sandi melalui argumen baris perintah -N thepassphrase
, jadi untuk menjaga agar prompt tidak muncul. Tetap saya bahkan tidak ingin memiliki kunci - selain diamankan dengan enkripsi - dan ingin keypairs menjadi plaintext.
Apa solusi (terbaik) untuk masalah ini?
The -q
pilihan mana yang seharusnya berarti "tenang / diam" tidak masih belum menghindari interaksi passphrase. Saya juga belum menemukan yang seperti ini
ssh-keygen ...... -q --no-passphrase
Tolong jangan mulai berkhotbah tentang atau memberi kuliah kepada saya tentang pro dan kontra dari "frasa sandi yang hilang", saya tahu itu. Dalam bentuk interaktif (bukan sebagai skrip), pengguna cukup menekan [ENTER] dua kali dan kunci akan disimpan sebagai plaintext. Inilah yang ingin saya capai dalam skrip seperti ini:
#! / bin / bash command1 perintah2 var = $ (command3) # ini seharusnya tidak menghentikan skrip dan meminta kata sandi ssh-kegen -b 2048 -t rsa -f / tmp / sshkey -q
/tmp/sshkey
sudah ada satu mendapat prompt menimpa. Ini dapat dicegah melalui mengarahkan / menutup stdin - misalnya melalui penambahan0>&-
.