Saya memiliki banyak pengguna, yang dengan kunci SSH memiliki akses ke akun di server lain. Saat ini saya memiliki skrip yang mengumpulkan kunci publik ssh dan mendistribusikannya ke akun yang benar di server yang benar.
Apa yang ingin saya lakukan, adalah mendapatkan skrip itu untuk memeriksa bahwa setiap kunci ssh pengguna yang diberikan memiliki frasa sandi sebelum menerima kunci publik dan mendistribusikannya.
Saya sudah mencoba beberapa hal, seperti menggunakan ssh-agent
dan ssh-add
kemudian masalah datang ketika ssh-add
akan meminta passphrase.
Apakah ada cara untuk mendapatkan sesuatu seperti openssl
memeriksa frasa sandi, sedikit gagal dengan kode pengembalian 1
jika kunci memiliki frasa sandi?
Terima kasih!
Jawaban:
Jika keyfile menggunakan kata sandi, itu memiliki atribut "Proc-Type:" yang disetel dengan kata "ENCRYPTED" ditambahkan.
Jadi, Anda dapat menentukan apakah keyfile menggunakan kata sandi dengan menjalankannya
find
dangrep
melihat apakah itu memiliki string 'DIKENALKAN'.mencetak daftar file yang memiliki frasa sandi. Kemudian Anda bisa mencocokkannya dengan daftar semua keyfile untuk memilih yang tidak menggunakan frasa sandi. Daftar semua keyfile dapat diperoleh misalnya dengan membiarkan
-exec
parameter keluar, sebagai berikut:sumber
Proc-Type
header tidak ditulis ke file, meskipun sedang dienkripsi.