So, years ago I tried PGP/GPG and put my key up on the public keyservers.
And then promptly lost the private key data. Lather, rinse, repeat, and now there are like 5 old GPG/PGP identities for me up there that are gone forever and can't be revoked.
So, it's 2024, and I think "I have a NAS I do regular backups and test restores on. Surely I can keep my private key data safe and secure now".
So I get GPG going, create my keys, and then, not knowing any better? copy my entire $HOME/.gnupg directory to my NAS.
The goal here is for me to be able to use the same private key across all the machines I use. There are several.
But when I copy down that directory, GPG refuses to "see" it. gpg --list-secret-keys prints - Nothing.
Is there a better way to keep my key in sync across all my machines? I'd rather not use keybase if possible, they give me the willies after tainting themselves with cryptocurrency and being bought.
Assuming there isn't, what am I doing wrong with my ~/.gnupg directory?
Not really an answer to your question, but just to make you aware of some options:
Have you considered using subkeys for each of your machines, signing things with those, and keeping their master key someplace safe? That would limit your exposure if one of those machines is compromised, since you could revoke only that machine's key while the others remain useful (and the signatures they have issued remain valid).
Are you setting expiration dates on your keys? That can bring some peace of mind when you lose your key/revocation data.
Interesting food for thought here, but you're talking about making the keys more secure.
These keys are ONLY used to store E-mail credentials, so "Good enough" is plenty :) I'll work on successfully retaining and managing my single key first, and then we can work on flying around the room :)
As a first guess like you might have a permission issue at play. Can you cat the private key on the machine that you're not seeing it in gpg --list-secret-keys prints
GPG uses some sockets in .gnupg for communication with the GPG agent and in general between components. It might be possible that that doesn't work with your NAS network filesystem.
Why not just export the secret key to the NAS and then import it on whatever device needs it? No reason to copy and paste the whole directory to each machine.
Hey I just want to thank you for this. It did indeed do exactly what I wanted! I think in the past when I'd tried to export my secret key I musn't have used the right parameters because I could never import it, but when I follow this guide I can!
So now I can just store plaintext private and public keys on my private NAS and import them on any machine where they're needed and I'm good to go!