Eu sei que esta é uma questão muito antiga. No entanto, existem duas respostas para sua pergunta.
Como o GPG funciona com o SSH.
Você fez o primeiro passo, habilitando o ssh-support em seu gpg-agent.conf
Mas você não forneceu nenhuma chave PGP para usar. Para usar chaves PGP com ssh, você precisa exportar a chave pública no formato ssh e adicioná-la ao arquivo ~ / .ssh / authorized_keys do seu host remoto. Em seguida, adicione o keygrip da chave privada ao arquivo ~ / .gnupg / sshcontrol.
Para exportar uma chave pública PGP como ssh:
$gpg -a --export-ssh-key [keyid]
Para ver um keygrip de PGP: $ gpg --with-keygrip --list-secret-keys [keyid]
Eu costumo criar uma subchave adequada para uso com o SSH. Se você estiver usando o GPG 2.2.1, então você pode usar o ED25519.
$gpg --expert --edit-key [keyid]
gpg> addkey
Option 11 for ECC
Option A to add authentication
Option 1 for Curve 25519
Expire never
Create yes
gpg> save
Em seguida, exporte apenas a subchave de autenticação:
$gpg -a --export-ssh-key [auth subkeyid]!
O ponto de exclamação seleciona apenas a subchave indicada.
Você também precisará garantir que as variáveis de ambiente estejam definidas em seu ~ / .bashrc ... Se você estiver executando um cliente Xwindow, isso geralmente é feito para você via /etc//X11/Xsession.d/90gpg -agent com o seguinte script bash:
agent_sock=$(gpgconf --list-dirs agent-socket)
export GPG_AGENT_INFO=${agent_sock}:0:1
if [ -n "$(gpgconf --list-options gpg-agent | \
awk -F: '/^enable-ssh-support:/{ print $10 }')" ]; then
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
fi
Uma vez que você tenha assegurado que as variáveis de ambiente estão definidas, qualquer keygrip adicionado ao arquivo ~ / .gnupg / sshcontrol aparecerá como chaves de autenticação no ssh-agent quando você listar as identidades disponíveis:
$ssh-add -l
Note que você pode alterar o hash mostrado através da opção -E para mostrar MD5 ou SHA256.
Configurando o SSH para usar certificados
Esta é uma questão bastante complexa. A Red Hat tem um detalhado passo a passo aqui:
Fim
Não está claro se é possível usar chaves PGP como chaves CA SSH. Eu não tentei isso sozinho. No entanto, eu uso chaves PGP no lado do cliente. Eu acho que isso torna a vida muito fácil e é menos complicado gerenciar identidades SSH do que usar chaves geradas por ssh-genkey.