Как настроить SSH/PuTTY для использования аутентификации Yubikey OpenPGP?

Я хотел бы использовать интерфейс 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 ответов

У меня была та же проблема, что и описанная выше, с моим YubiKey 5 NFC. Кажется, что замазка не может прочитать файл конфигурации или публикации.

Изменение домашнего каталога для gpg из %APPDATA%\gnupg\ в %HOMEPATH%\gnupg\ решил проблему на моей Windows 10.

Для проверки домашнего каталога для gpg вы можете поставить: gpg --version в командной оболочке. Для изменения домашнего каталога вы можете создать переменную окружения GNUPGHOME с новым домашним каталогом

Есть два способа сделать это:

  1. Использование YubiKey для хранения ключа аутентификации SSH для аутентификации на серверах SSH
    • Этот метод поддерживает только ключи RSA и должен храниться в слоте аутентификации [A]
    • Этот метод не требует поддержки PAM сервера / клиента SSH

  2. Использование PuTTY-CAC для аутентификации с использованием сертификата PKCS11
    • Конфигурация Yubico: PKCS11
    • Конфигурация PuTTY-CAC: Соединение> SSH > Сертификат

Я написал руководство по использованию Yubikeys с ключами PGP через SSH для входа в Linux из Windows, надеюсь, это поможет кому-нибудь так же запутавшемуся, как и я: https://horugame.com/sign-in-to-linux-from-windows-via-yubikey/

Другие вопросы по тегам