gpg-agent e SSH: sem chaves

3

Estou tentando ativar a autenticação SSH por meio da minha subchave GPG, usando este tutorial . No entanto, eu peguei emprestado e usei o script .init de este blog (em vez de editar meu Xprofile).

No entanto, estou recebendo uma mensagem de erro muito peculiar:


┌─[12:53:49]─[user@pc]
└──> ~ $ ssh-add -l
gpg-agent[7659]: ssh handler 0xABCD1234 for fd 5 started
gpg-agent[7659]: ssh request 1 is not supported
gpg-agent[7659]: ssh request handler for request_identities (11) started
gpg-agent[7659]: no running SCdaemon - starting it
gpg-agent[7659]: DBG: first connection to SCdaemon established
gpg-agent[7659]: no authentication key for ssh on card: Card error
gpg-agent[7659]: /home/user/.gnupg/sshcontrol:4: key '[keygrip from auth key]' skipped: No such file or directory
gpg-agent[7659]: ssh request handler for request_identities (11) ready
The agent has no identities.
gpg-agent[7659]: ssh handler 0xABCD1234 for fd 5 terminated

Isso, obviamente, não faz sentido porque eu nunca usei um cartão inteligente, nem acho que tenho drivers de cartão inteligente instalados.

Além disso, essas chaves GPG são válidas e são importadas. A chave listada acima também possui uma subchave de autenticação.

Estou executando a versão 2.1.1 do GnuPG.

Existe alguma maneira de corrigir isso e (como um bônus), obter minhas chaves SSH trabalhando através do GPG?

Conteúdo de ~/.gnupg/sshcontrol :

# List of allowed ssh keys.  Only keys present in this file are used
# in the SSH protocol.  The ssh-add tool may add new entries to this

<keygrip from my auth key>

Editar: Ao fazer set | grep SSH_AUTH_SOCK , recebo:

SSH_AUTH_SOCK=/run/user/1000/keyring-PLDuNs/ssh

No entanto, ao tentar cat deste arquivo, recebo um erro No such device or address . No entanto, não tenho certeza se isso é relevante ou apenas erro do usuário, esperando um retorno.

    
por Kaz Wolfe 11.02.2016 / 22:00

1 resposta

3

Eu vejo dois problemas com sua configuração:

  1.   

    No entanto, peguei emprestado e usei o script .init deste blog (em vez de editar meu Xprofile).

    O script de inicialização dessa postagem do blog está desatualizado ( i.e., para versões do GnuPG anteriores a 2.1). Não use isso.

  2.   

    Editar: Ao fazer set | grep SSH_AUTH_SOCK , recebo:

    SSH_AUTH_SOCK=/run/user/1000/keyring-PLDuNs/ssh
    
         

    No entanto, ao tentar ignorar esse arquivo, recebo um erro "Nenhum dispositivo ou endereço". No entanto, não tenho certeza se isso é relevante ou apenas erro do usuário, esperando um retorno.

    Você está usando o soquete de autenticação SSH errado.

Para obter uma fonte sobre essas reivindicações, consulte a documentação oficial . Para uma correção direta, consulte o resumo do processo de Jens Erat no Unix StackExchange. Copiado aqui por conveniência:

  
  1. ative o protocolo ssh-agent adicionando enable-ssh-support a ~/.gnupg/gpg-agent.conf
  2.   
  3. %código%; você pode querer fazer isso no seu export SSH_AUTH_SOCK=$HOME/.gnupg/S.gpg-agent.ssh
  4.   
  5. mate ~/.profile se iniciado e recarregue ssh-agent ( gpg-agent )
  6.   
  7. exporte e adicione sua chave pública aos servidores de destino ( gpg-connect-agent reloadagent /bye deve agora conter a linha de chave pública familiar SSH para sua chave OpenPGP)

         

    Nota do editor: Esta etapa pode ser simplificada por adição o valor 'keygrip' da chave para ssh-add -L e, em seguida, autorizando-a no servidor remoto com ~/.gnupg/sshcontrol .

  8.   
  9. ssh-copy-id para o servidor de destino como com uma chave SSH normal
  10.   
    
por Ryan Lue 29.06.2017 / 03:44