Генерация SSH-ключа (ed25519-sk) с токеном FIDO2 завершается неудачей с ошибкой “Не удалось зарегистрировать ключ: запрашиваемая функция не поддерживается”

Вопрос или проблема

Я пытаюсь сгенерировать SSH-ключ с помощью аппаратного токена FIDO2 (GoTrust Idem Key, USB-A), подключенного с помощью команды:

ssh-keygen -O no-touch-required -t ed25519-sk -vvv

и она завершает выполнение с ошибкой:

Генерация пары открытых/закрытых ключей ed25519-sk.
Возможно, вам нужно прикоснуться к вашему аутентификатору для авторизации генерации ключа.
debug3: start_helper: запущен pid=4683
debug3: ssh_msg_send: тип 5
debug3: ssh_msg_recv: вход
debug1: start_helper: запуск /usr/lib/ssh/ssh-sk-helper 
debug1: sshsk_enroll: провайдер "internal", устройство "(null)", приложение "ssh:", userid "(null)", флаги 0x00, длина вызова 0
debug1: sshsk_enroll: использование случайного вызова
debug1: sk_probe: обнаружено 1 устройство
debug1: sk_probe: выбор sk по прикосновению
debug1: ssh_sk_enroll: использование устройства /dev/hidraw0
debug1: ssh_sk_enroll: fido_dev_make_cred: FIDO_ERR_UNSUPPORTED_ALGORITHM
debug1: sshsk_enroll: провайдер "internal" неудача -2
debug1: ssh-sk-helper: Регистрация не удалась: запрашиваемая функция не поддерживается
debug1: main: длина ответа 8
debug3: ssh_msg_send: тип 5
debug1: client_converse: помощник вернул ошибку -59
debug3: reap_helper: pid=4683
Неудача регистрации ключа: запрашиваемая функция не поддерживается

Я попытался обновить свою систему (Manjaro Linux, версия SSH OpenSSH_9.1p1, OpenSSL 3.0.7 1 Nov 2022), но это не решило проблему.

Я нашел эту проблему, эту тему и официальное руководство (в котором не упоминаются ключи ed25519-sk, только ecdsa-sk), но я не могу создать ключ ed25519-sk. Кто-нибудь нашел что-нибудь, что могло бы помочь мне решить эту проблему или подтвердить, что я хочу что-то невозможное?

Примечание: Генерация ecdsa-sk прошла успешно (с помощью команды ssh-keygen -O no-touch-required -t ecdsa-sk), так что я пока использую его.

В пользовательском руководстве, на которое вы сослались, говорится: ‘Обратите внимание, что текущая версия Idem Key поддерживает только тип ключа “ecdsa-sha2-nistp256”, который может быть сгенерирован с помощью параметра “ecdsa-sk” команды ssh’.

Учтите слово “только”.

Ответ или решение

Ошибка "Key enrollment failed: requested feature not supported", которую вы получили при попытке сгенерировать SSH-ключ типа ed25519-sk с использованием FIDO2 токена GoTrust Idem Key, указывает на то, что ваше устройство не поддерживает запрашиваемый алгоритм ключа. Давайте подробнее рассмотрим эту проблему и предложим возможные решения.

Анализ проблемы

При попытке создать ключ ed25519-sk, вы наблюдаете следующее сообщение об ошибке:

debug1: ssh_sk_enroll: fido_dev_make_cred: FIDO_ERR_UNSUPPORTED_ALGORITHM
debug1: sshsk_enroll: provider "internal" failure -2

Это сообщение указывает на то, что ваш токен не поддерживает алгоритм ed25519, который вы хотели использовать. Стоит отметить, что поддержка различных алгоритмов SSH ключей может варьироваться в зависимости от модели и версии токена.

Поддержка алгоритмов

Как вы уже упомянули в вашем описании, согласно руководству пользователя GoTrust Idem Key:

"Current version of Idem Key only supports key type “ecdsa-sha2-nistp256” which can be generated by the parameter “ecdsa-sk” of ssh command".

Это означает, что ваш токен поддерживает только ECDSA (с использованием NIST P-256), и не поддерживает алгоритм ed25519-sk. Ваша попытка сгенерировать такой ключ ведет к ошибке, так как токен не может выполнить запрос.

Рекомендуемые решения

С учетом вышеизложенного, вот шаги, которые вы можете предпринять:

  1. Используйте поддерживаемый алгоритм: Поскольку ваш токен поддерживает только ecdsa-sk, рекомендуется продолжать его использование для создания SSH ключей. Корректно работает команда:

    ssh-keygen -O no-touch-required -t ecdsa-sk

    Убедитесь, что вы сохраняете и управляете ключами по всем правилам безопасности.

  2. Обновите токен или проверьте другие устройства: Если вам необходим ключ ed25519-sk, рассмотрите возможность приобретения другого токена, который поддерживает данный алгоритм. Некоторые более новые устройства, такие как YubiKeys, могут поддерживать ed25519.

  3. Проверьте обновления ПО: Убедитесь, что у вас установлены последние обновления программного обеспечения как для операционной системы, так и для пакетов, связанных с SSH и вашими токенами безопасности. Иногда добавление поддержки нужных алгоритмов может быть реализовано через обновление драйвера или прошивки устройства.

  4. Обратитесь в техническую поддержку: Если вы всё ещё хотите использовать ваш токен GoTrust с алгоритмом ed25519, рекомендуется обратиться в службу поддержки GoTrust. Возможно, они смогут предоставить информацию о будущих обновлениях или альтернативах.

Заключение

Ситуация, с которой вы столкнулись, связана с ограничениями конкретного оборудования, и, к сожалению, неудача в генерации ключа ed25519-sk с использованием токена GoTrust Idem Key вполне объяснима. Лучше всего следовать рекомендуемым действием и использовать поддерживаемые алгоритмы, пока вы не найдете решение или не обновите свое оборудование.

Оцените материал
Добавить комментарий

Капча загружается...