Create a file

echo -e "password\n" | gpg --encrypt -o .file.gpg``

Create an encrypted file (containing e.g. a password)

Edit

vim mypw; gpg -e mypw; rm mypw

Read

gpg2 -q --for-your-eyes-only --no-tty -d mypw.gpg

Backup keys

gpg --output mygpgkey_pub-71CB6801.gpg --export 08352695F97D0952469752239A2E09E771CB6801
gpg --output mygpgkey_sec-71CB6801.gpg --export-secret-keys 08352695F97D0952469752239A2E09E771CB6801

Import keys

gpg --import mygpgkey_sec-71CB6801.gpg

Remote import and export

Export the GPG key

First list the gpg keys available in the system:

$ gpg --list-keys

/home/user/.gnupg/pubring.gpg
--------------------------------
pub 1024D/ABCDFE01 2008-04-13
uid firstname lastname (description) <email@example.com>
sub 2048g/DEFABC01 2008-04-13

Let’s import key ABCDFE01:

$ gpg --output mygpgkey_pub.gpg --armor --export ABCDFE01
$ gpg --output mygpgkey_sec.gpg --armor --export-secret-key ABCDFE01

and copy those files over to the remote host:

$ scp mygpgkey_pub.gpg mygpgkey_sec.gpg user@remotehost:~/

Import the GPG key

Now, log in the remote host:

$ ssh user@remotehost

import:

user@remotehost:~$ gpg --import ~/mygpgkey_pub.gpg
user@remotehost:~$ gpg --allow-secret-key-import --import ~/mygpgkey_sec.gpg
user@remotehost:~$ gpg --list-keys

/home/user/.gnupg/pubring.gpg
--------------------------------
pub 1024D/ABCDFE01 2008-04-13
uid firstname lastname (description) <email@example.com>
sub 2048g/DEFABC01 2008-04-13

and then clean up:

user@remotehost:~$ rm ~/mygpgkey_sec.gpg ~/mygpgkey_pub.gpg