gpg2 meminta frasa sandi saat mengimpor kunci rahasia

14

Saya mencoba mentransfer kunci rahasia gpg saya dari gpg1 (1.4.21) ke gpg2 (2.1.15) menggunakan

gpg2 --import ~/.gnupg/secring.gpg

gpg2 meminta passphrases dari semua kunci rahasia di keyring.

Mengapa diperlukan kata sandi pada tahap ini (saya hanya harus menyediakannya saat menggunakan kunci) dan bagaimana saya bisa mencegah hal ini, yaitu mengimpor keyring tanpa memasok kata sandi?

Sistem adalah Arch Linux, kernel 4.7.6. Terima kasih.

0range
sumber

Jawaban:

17

Masalahnya dijelaskan di sini di bugtracker GnuPG ; Saya tidak melihat itu sebelumnya hari ini.

Solusinya adalah:

gpg2 --batch --import ~/.gnupg/secring.gpg
0range
sumber
5
Terima kasih! Saya melakukan ini pada server tanpa kepala menggunakan shell redirection, misalnya gpg2 --import < my-keysdan untuk alasan yang tidak diketahui ini tidak menunjukkan kepada saya prompt passphrase sama sekali, tetapi hanya samar gpg: error building skey array: Inappropriate ioctl for device. Semoga googling bahwa pesan akan mengirim orang ke sini mulai sekarang.
jlh
Pesan kesalahan samar saya yang sedikit berbeda saat menjalankan tanpa kepala adalah error sending to agent: Operation cancelled. Ada jawaban lain di luar sana mengutip pesan kesalahan ini yang merekomendasikan penggunaan --batch, tetapi jawaban ini adalah satu-satunya yang saya temukan yang bekerja ekstra dengan menghubungkan ke akar penyebab mengapa solusi ini diperlukan.
Rusty Shackleford
Untuk siapa saja yang mendapatkan Inappropriate ioctl for devicekesalahan, coba export GPG_TTY=$(tty)per github.com/keybase/keybase-issues/issues/2798 lalu lakukan impor batch
Doug Ayers