Link to this headingGPG

https://gock.net/blog/2020/gpg-cheat-sheet

Link to this headingKey management

Link to this headingShow

List Keys:

#List public keys gpg --list-keys #List all secret keys gpg --list-secret-keys #List keys from another home directory gpg --homedir ~/.gnupg-alternate --list-keys #Change home directory export GNUPGHOME=/mnt/c/Users/USER/AppData/Roaming/gnupg/ gpg --list-keys

Link to this headingCreate

Generate new Key Interactive:

gpg --full-generate-key [...] pub ed25519 2024-05-06 [SC] CB74066316253430000C2C1D3DBB6D64F46843C7 uid Generalzer0 (Generalzer0 Key) <[email protected]> sub cv25519 2024-05-06 [E]

Link to this headingKeys

Export Keys:

#Export Specific Key gpg -a --export CB7406631625343A4CBC2C1D3DBB6D64F46843C7 > public.asc gpg -a --export-secret-key CB7406631625343A4CBC2C1D3DBB6D64F46843C7 > private.asc #Export all keys gpg -a --export > public-all.asc gpg -a --export-secret-key > secret-all.asc

Import keys:

gpg --import keys.asc

Link to this headingAge

SSH Keys:

# Encrypt using an SSH public key (RSA or Ed25519) age -R ~/.ssh/id_ed25519_2025-08-19.pub -o secret.txt.age secret.txt # Decrypt using the corresponding SSH private key age -d -i ~/.ssh/id_ed25519_2025-08-19 -o decrypted.txt secret.txt.age
# Generate a new key pair age-keygen -o key.txt # Encrypt a file with a public key age -r age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p -o secret.txt.age secret.txt # Encrypt with a passphrase instead age -p -o secret.txt.age secret.txt # Decrypt a file age -d -i key.txt -o decrypted.txt secret.txt.age # Encrypt for multiple recipients age -r recipient1_public_key -r recipient2_public_key -o secret.txt.age secret.txt # Encrypt from stdin echo "secret message" | age -r age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p > message.age