Last year I reinstalled Manjaro on my Acer Aspire E11 to try i3 after 5 years using Xfce. After that I configured my development environment for Python and Rust and also restored some configuration files.
While doing this I remembered that I had to configured Git. Many of my repositories are on GitHub and I usually sign every commit using GPG and push changes through SSH.
Here are the instructions I followed to back up and then restore my GPG & SSH keys. It could be useful if you’re moving to another computer or reinstalling operating system.
- Copy both id_rsa and id_rsa.pub from ~/.ssh/ to a USB drive.
- Identify the private key by executing the following command.
$ gpg --list-secret-keys --keyid-format LONG
It will show something similar to this.
sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
Characters after the slash are the ID of the private key.
- Export the private key.
gpg --export-secret-keys $ID > my-private-key.asc
- Copy my-private-key.asc to a USB drive.
- Copy both id_rsa and id_rsa.pub to ~/.ssh/
- Change file permissions and ownership of both files.
$ chown user:user ~/.ssh/id_rsa* $ chmod 600 ~/.ssh/id_rsa $ chmod 644 ~/.ssh/id_rsa.pub
- Start the ssh-agent.
$ exec ssh-agent bash
- Add your SSH private key to the ssh-agent.
$ ssh-add ~/.ssh/id_rsa
- Import your GPG key
$ gpg --import my-private-key.asc
Now you’re ready to use Git and update your repositories.