4

Я хотел бы использовать интерфейс OpenPGP моего Yubikey для аутентификации на моем сервере OpenSSH на моем компьютере с Windows 10, как показано здесь.

Я создал ключи в соответствии с документацией.

gpg --card-status будет возвращать следующее:

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

Теперь черная дыра поднимается. Как упомянуто в демонстрационной документации, PuTTY должен работать прямо из коробки. Год правильно, я думал, но я попробовал. Конечно, это не будет работать, так как сервер OpenSSH не знает открытую часть ключа аутентификации. Какой сюрприз

Однако я извлек требуемый отпечаток, совместимый с OpenSSH, чтобы поместить в .ssh/authorized_keys:

gpg --export-ssh-key BEEFBEEFBEEFBEEFBEEFBEEFBEEFBEEFBEEF0003

В результате мы получили OpenSSH-совместимый отпечаток со следующим комментарием:

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

Я заново установил Yubikey, перезапустил gpg-agent и повторил попытку входа на мой сервер OpenSSH. Это также не сработало.

Поэтому я снова погуглил и нашел другой учебник по использованию Yubikey в качестве аутентификации SSH.

Я настроил способ, которым McQueen Labs рекомендует это, но это также не сработало для меня.

Там, где нет никаких подсказок для пин-кода карты или сообщений об ошибках, кроме No supported authentication methods available (server sent: publickey) .

Это заставляет меня думать, что либо аутентификация SSH такого типа не выполняется методом publickey (что я считаю менее вероятным), либо отсутствует конфигурация.

В связи с этим возникает вопрос: как настроить PuTTY для использования аутентификации Yubikey OpenPGP? А что настраивать на стороне сервера.

Изменить: Интерфейс Yubikey OpenPGP хорошо работает с коммитами Git и т.д. Но я не могу использовать его для аутентификации SSH.

0