Preconditions
Following commands can be executed:
- gpg
- ssh
- gpg-agent
Configuration
Linux
use-agent
enable-ssh-support
SSH_AUTH_SOCK=/run/user/$UID/gnupg/S.gpg-agent.ssh if [ -f "$SSH_AUTH_SOCK" ] ; then export SSH_AUTH_SOCK else eval $( gpg-agent --daemon ) fi
macOS
use-agent
enable-ssh-support write-env-file ~/.gpg-agent-info
[ -f ~/.gpg-agent-info ] && source ~/.gpg-agent-info if [ -S "${GPG_AGENT_INFO%%:*}" ]; then export GPG_AGENT_INFO export SSH_AUTH_SOCK export SSH_AGENT_PID else eval $( gpg-agent --daemon --write-env-file ~/.gpg-agent-info ) fi
Postconditions
In the output of
$ ssh-add -L
an extra public key will be shown
Notes
Tested on
- Debian Stretch
- Ubuntu 16.10
Reference
- How to use a GPG key for SSH authentication:
https://www.linode.com/docs/security/gpg-key-for-ssh-authentication