I have a YubiKey NEO on which I have the OpenPGP applet and I have a PGP key installed. I work on 3 different computers and I initialized the card on computer bob
. I'm now at computer rob
. Someone sent me an encrypted file, so I put in my YubiKey NEO and ran gpg --decrypt
.
I got the following output:
gpg: encrypted with RSA key, ID DEADBEEF
gpg: decryption failed: secret key not available
Okay, so maybe I need to install my PGP public key here. I did that, and then got:
gpg: decryption failed: secret key not available
I then SSH'd into bob
from rob
and ran gpg --list-secret-keys
and lo-and-behold:
sec> 2048R/DEADDEAD 2015-02-31
Card serial no. = 0000 12345678
uid Naftuli Tzvi Kay <[email protected]>
ssb> 2048R/BEEFBEEF 2015-02-31
ssb> 2048R/DEADBEEF 2015-02-31
What in the heck? I copied this "key" over from bob
to rob
and now things work, and yet I still need to enter my PIN for my PGP key.
When I created the key, I never imported it to disk so it should only exist on the card. Why does a secret key exist on disk(!) if the secret key isn't supposed to be anywhere but the smart card?