Агент SSH: `sign_and_send_pubkey: ошибка подписи для ECDSA-SK ... от агента: агент отказался от операции`, за исключением самого первого раза

У меня есть пара ключей ecdsa-sk, которую я сгенерировал и добавил в свою учетную запись github (привязанную к yubikey). Если я попробую какое-либо соединение с использованием этого ключа, например , я получу:

      sign_and_send_pubkey: signing failed for ECDSA-SK "[...]/.ssh/id_ecdsa_sk" from agent: agent refused operation

Никакого сочетанияssh-addкоманды, которые я пробовал, работают (удаление ключа, повторное добавление и т. д.).ssh-add -lключ покажется как присутствующий, но я все равно получаю вышеуказанную ошибку.

Единственное, что работает, это убить и сразу запустить:

      ssh-add -K <ecdsa keyfile>

Если я это сделаю, то сработает — один раз . Если я сначала сделаю что-нибудь еще с агентом, добавлю другие ключи и т. д., то произойдет сбой (выдаст указанную выше ошибку), и если я немедленно запущуgit pushво второй раз он потерпит неудачу (и постоянно, пока я не убьюssh-agentснова).

К сожалению, я использую Mac (Monterey, чип M1). У меня такая проблема только с ключом esdsa-sk. Мои обычные ключи RSA работают нормально. Я что-то упускаю или делаю что-то не так? Я знаю, что поддержка ecdsa-sk относительно новая; может ли это быть ошибкой?

1 ответ

Используйте OpenSSH Homebrew.

      $ brew install openssh

После установки вам необходимо переопределить тот, который указан в вашем PATH, поместив папку OpenSSH в начало вашего PATH в вашем RC-файле, как показано ниже.

      $ export PATH=$(brew --prefix openssh)/bin:$PATH

Как только вы это сделаете и найдете источникrcфайл, вы сможете сгенерировать свой ключ

Протестировано на macOS Monterey иOpenSSH_9.0p1, OpenSSL 1.1.1q 5 Jul 2022

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