Home | Ubuntu/Mint | Arch/Manjaro | ssh/gpg | texlive | python | git | steam
Generate an ssh key:
ssh-keygen -t rsa -b 4096
Show the public key:
cat ~/.ssh/id_rsa.pub
Passwordless authentication:
ssh-copy-id -i ~/.ssh/id_rsa.pub -p <port> <user>@<server>
Generate an GPG key:
gpg --full-gen-key
List keys:
gpg --list-secret-keys --keyid-format LONG
Get the relevant secure piece:
gpg --list-secret-keys --keyid-format LONG | grep sec | awk '{print $2}' | awk -F/ '{print $2}'
Use it to sign git commits:
git config --global user.signingkey $(gpg --list-secret-keys --keyid-format LONG | grep sec | awk '{print $2}' | awk -F/ '{print $2}')
git config --global commit.gpgsign true
Export the public key:
gpg --armor --export $(gpg --list-secret-keys --keyid-format LONG | grep sec | awk '{print $2}' | awk -F/ '{print $2}')
Export public and private keys to move them to a new user/machine:
gpg --export ${KEY} > public.key
gpg --export-secret-key ${KEY} > private.key
where ${KEY}
is the relevant secure piece from above.
Import them again:
gpg --import public.key
gpg --import private.key