Como configurar o SSH / PuTTY para usar a autenticação Yubikey OpenPGP?


4

Eu gostaria de usar a interface OpenPGP do Yubikey para me autenticar contra o meu servidor OpenSSH no meu computador Windows 10 mostrada aqui .

eu tinha criou as chaves de acordo com a documentação .

gpg --card-status retornaria o seguinte:

Reader ...........: Yubico Yubikey 4 OTP U2F CCID 0
Application ID ...: BEEFBEEFBEEFBEEFBEEFBEEF99990000
Version ..........: 2.1
Manufacturer .....: Yubico
Serial number ....: 99999999
Name of cardholder: John Doe
Language prefs ...: en
Sex ..............: male
URL of public key : https://example.com/pgp.asc
Login data .......: johndoe
Signature PIN ....: required
Key attributes ...: rsa4096 rsa4096 rsa4096
Max. PIN lengths .: 127 127 127
PIN retry counter : 3 3 3
Signature counter : 39
Signature key ....: BEEF BEEF BEEF BEEF BEEF  BEEF BEEF BEEF BEEF 0001
      created ....: 2017-11-20 00:00:01
Encryption key....: BEEF BEEF BEEF BEEF BEEF  BEEF BEEF BEEF BEEF 0002
      created ....: 2017-11-20 00:00:02
Authentication key: BEEF BEEF BEEF BEEF BEEF  BEEF BEEF BEEF BEEF 0003
      created ....: 2017-11-20 00:00:03
General key info..: pub  rsa4096/BEEFBEEFBEEF0001 2017-11-20 John Doe <john@example.com>
sec>  rsa4096/BEEFBEEFBEEF0001  created: 2017-11-20  expires: never
                                Cardnumber:BEEF BEEF9999
ssb>  rsa4096/BEEFBEEFBEEF0002  created: 2017-11-20  expires: never
                                Cardnumber:BEEF BEEF9999
ssb>  rsa4096/BEEFBEEFBEEF0003  created: 2017-11-20  expires: never
                                Cardnumber:BEEF BEEF9999

Agora o buraco negro se ergue. Como mencionado no documentação de vitrine , PuTTY deve funcionar direto da caixa . Ano certo eu pensei, mas eu dei uma chance. Claro que não funcionará, já que o servidor OpenSSH não conhece a parte pública da chave de autenticação. Que surpresa .

No entanto, extraí a impressão digital compatível com OpenSSH necessária para colocar .ssh/authorized_keys:

gpg --export-ssh-key BEEFBEEFBEEFBEEFBEEFBEEFBEEFBEEFBEEF0003

O resultado foi uma impressão digital compatível com OpenSSH com o seguinte comentário:

ssh-rsa [...omitted...] openpgp:0xBEEF0003

Eu reinseri o Yubikey, reiniciei o gpg-agent e tentei entrar no meu servidor OpenSSH. Também não deu certo.

Então eu pesquisei novamente e encontrei outro tutorial para usar o Yubikey como autenticação SSH .

Eu configurar a maneira como o McQueen Labs recomenda mas isso também não funcionou para mim.

Onde não há qualquer solicitação para o pino do cartão ou mensagens de erro além No supported authentication methods available (server sent: publickey).

Isso me faz pensar que esse tipo de autenticação SSH não é feito pelo método publickey (que acho menos provável) ou se há falta de configuração.

O que me leva à minha pergunta: Como configurar o PuTTY para usar a autenticação Yubikey OpenPGP? E o que configurar no lado do servidor.

Edit: A interface OpenPGP Yubikey funciona bem com commits Git, etc. Mas eu não sou capaz de usá-lo para autenticação SSH.


1
Eu acabei de perceber que eu tinha Keepass com o plugin KeeAgent competindo com gpg-agent por solicitações de credenciais. Eu fiquei desconfiada quando a janela de senha do KeePass apareceu depois de abrir o putty .... Portanto, verifique e certifique-se de que você não tenha nenhum outro concurso sendo executado em segundo plano. Funcionando bem para mim depois de desativar o plug-in do KeeAgent.
baloan

Não há Keepass em execução na máquina. Mas obrigado pela dica. E com Pageant, eu testei ambos os estados.
burnersk

Eu notei uma diferença no comportamento depois de adicionar o C:\Program Files (x86)\GnuPG\bin e C:\Program Files\PuTTY diretórios para o PATH.
baloan
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.