Last week I needed to move some recurring scheduled tasks from one computer over to another computer. Some of these tasks require the use of Gnu’s PGP encryption program, GnuPG, which meant that I also needed to move public PGP keys.
While researching my options, I found a two (2) different solutions to move PGP keys from one computer to another. One moves all of the pgp data stores, while the other just moves the keys.
Move the .gnupg directory
If the target computer does not have gnupg setup yet, or you do not mind replacing the existing keys and settings, then just copying over the key rings is the quickest way to make the move. One just needs to copy over the entire ~/.gnupg directory, which contains all of your keys and key rings.
First, make a copy of the .gnupg directory into an archive using the tar utility.
$ tar -cvzf gnupg_backup_yyyymmdd.tgz ~/.gnupg
Next, copy the tar archive [gnupg_backup_yyyymmdd.tgz] from the source
computer to the the target computer. One can extract the tar with the
$ tar -xzvf <filename.tgz>.
Export/Import Public and Private Keys
Another way to move your php keys from one machine to another is to
export the keys on the source machine, and then import the keys on the
target computer. To export all of your public php keys and save them
to a file, run the command,
$ gpg —export > public_keys.pgp.
To export your private php keys, run the command with the
To import on the target computer, run the following command.
$ gpg —import < public_keys.pgp
$ gpg —import < private_keys.pgp