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.
C:\Program Files (x86)\GnuPG\bin
e C:\Program Files\PuTTY
diretórios para o PATH.