How can I remove the passphrase from a gpg2 private key?
As of gpg
version 2.2.17, gpg --edit-key <keyid>
seems to work fine for removing a passphrase.
Issue the command, then type passwd
in the prompt. It will ask you to provide your current passphrase and then the new one. Just type Enter for no passphrase. Then type quit
to quit the program.
With pinentry-0.8.1
(and gnupg2-2.0.22
) on Centos 7 I was able to remove the passphrase from the secret key by not specifying a new password; pinentry
did whine and warn about the blank password but both the console and GTK pinentry
programs had a "Take this one anyway" prompt that resulted in a password-free secret key.
On the other hand, this attempt failed as the then imported secret key is marked as unusable:
gpg --export-options export-reset-subkey-passwd --export-secret-subkeys > x
Well, I succeed in removing passphrase or creating new key without passphrase by using pinentry-gtk-2 as the pinentry program. Here is what I have done:
There is no config file in ~/.gnupg. I created a symbolic link from /usr/bin/pinentry
to /usr/bin/pinentry-gtk-2
sudo ln -s /usr/bin/pinentry-gtk-2 /usr/bin/pinentry
It also worked over an SSH
connection with X11 forwarding.