# HowtoGPG ## Some commands: ```console $ gpg --card-status $ gpg --export-ssh-key keyID $ gpg --armor --export keyID > pubkey.asc ``` ## Use Nitrokey from new system: ```console $ gpg --import pubkey.asc $ gpg --card-status ``` ## Use GPG Agent as SSH Agent ```console $ vim .gnupg/gpg-agent.conf enable-ssh-support pinentry-program /usr/bin/pinentry-qt $ systemctl --user enable --now /usr/lib/systemd/user/gpg-agent* $ vim .bashrc export SSH_AUTH_SOCK="/run/user/$(id -u)/gnupg/S.gpg-agent.ssh" ``` ## Export your public key to your web server: ```console $ mkdir openpgpkey $ gpg --list-options show-only-fpr-mbox -k keyID | /usr/lib/gnupg/gpg-wks-client -v --install-key ``` Then publish to your web server. https://openpgpkey.example.com/.well-known/openpgpkey/example.com/hu/ My public key is available via: ## Get public keys ### From WKD WKD mean Web Key Directory. Interesting website: ```console $ gpg --locate-key user@example.com ``` ### From keyserver #### With keys.openpgp.org ```console $ echo keyserver hkps://keys.openpgp.org >> ~/.gnupg/gpg.conf $ gpg --auto-key-locate keyserver --locate-keys user@example.com ``` #### With sks-keyservers.net ```console $ gpg --keyserver pool.sks-keyservers.net --recv-keys keyID ```