Security

GPG CLI

GPG commands for encryption and digital signatures.

31 commands
Windows MacOS Linux
#encryption #signing

Key Management

Generate a new GPG key pair interactively
gpg --gen-key
Generate key with full options
gpg --full-generate-key
List all public keys in keyring
gpg --list-keys
List all private keys in keyring
gpg --list-secret-keys
Delete a public key from keyring
gpg --delete-key [email protected]
Delete a private key from keyring
gpg --delete-secret-key [email protected]
Edit key properties interactively
gpg --edit-key [email protected]

Encryption

Encrypt a file for a specific recipient
gpg -e -r [email protected] file.txt
Decrypt a GPG encrypted file
gpg -d file.txt.gpg
Encrypt with symmetric passphrase
gpg -c file.txt
Encrypt for multiple recipients
gpg -e -r alice -r bob file.txt
Encrypt and output ASCII-armored text
gpg --armor -e -r [email protected] file.txt
Decrypt to a specific output file
gpg -d --output file.txt file.txt.gpg

Signing

Create a compressed signed file
gpg --sign file.txt
Create a cleartext signed message
gpg --clearsign file.txt
Create a detached signature file
gpg --detach-sign file.txt
Verify a detached signature
gpg --verify file.txt.sig file.txt
Sign with ASCII-armored output
gpg --sign --armor file.txt
Sign and encrypt a file together
gpg -se -r [email protected] file.txt

Key Server

Upload public key to a key server
gpg --keyserver keyserver.ubuntu.com --send-keys KEYID
Download a key from a key server
gpg --keyserver keyserver.ubuntu.com --recv-keys KEYID
Search for keys on a server
gpg --keyserver keyserver.ubuntu.com --search-keys [email protected]
Refresh all keys from key server
gpg --refresh-keys

Import/Export

Export public key to ASCII file
gpg --export -a [email protected] > public.asc
Export private key to ASCII file
gpg --export-secret-keys -a [email protected] > private.asc
Import a public key from file
gpg --import public.asc
Import a private key from file
gpg --import private.asc
Show key fingerprint for verification
gpg --fingerprint [email protected]

Quick Commands

Generate a new GPG key pair
gpg --gen-key
Encrypt a file for a specific recipient
gpg -e -r [email protected] file.txt
Verify a detached GPG signature
gpg --verify file.txt.sig file.txt