SSH: ключ агента RSA SHA256:[хеш] возвратил неверный тип подписи

Я только что обновил две машины с Debian 9 до Debian 10 и теперь, когда я подключаюсь к ним с помощью SSH, я получаю следующее предупреждение:

agent key RSA SHA256:[hash] returned incorrect signature type

Я использовал ту же самую установку прежде, и никто не жаловался.

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

Это ssh -vvv выход:

debug3: sign_and_send_pubkey: RSA SHA256:[hash]
debug3: sign_and_send_pubkey: signing using rsa-sha2-512
agent key RSA SHA256:[hash] returned incorrect signature type
debug3: sign_and_send_pubkey: signing using ssh-rsa

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

Я не понимаю, что ожидается и что на самом деле используется, смущенный SHA256: префикс против сообщения signing using rsa-sha2-512,

1 ответ

Решение

Я использовал ту же самую установку прежде, и никто не жаловался.

Вы обновили Debian 9 до Debian 10. Это больше не "точно такая же настройка".

Правильно ли я понимаю, что мой SSH-клиент использует алгоритм хеширования для подписи ключа, который не нравится SSH-серверу?

Нет; агент SSH использует алгоритм хеширования, который клиенту не нравится.

Традиционно для каждого типа ключа SSH определялся только один алгоритм хеширования, и ssh-rsa Ключи всегда использовали алгоритм SHA1 при создании подписей. (Обратите внимание, что это для подписи данных - проверки подлинности, а не самих ключей.)

В последнее время, поскольку SHA1 больше не является современным (или где-либо рядом), были определены комбинации RSA с SHA256 и SHA512, а протокол ssh-agent был расширен с полем флагов для запроса другого типа хеша, чем обычно.,

Для этого соединения ваш клиент и сервер договорились о том, что вместо этого следует использовать подпись на основе SHA512. Однако когда клиент попросил ssh-agent создать подпись, ssh-agent проигнорировал новое расширение и вместо этого просто возвратил подпись на основе SHA1. Обычно это происходит, когда агент просто не поддерживает обновленный протокол.

Решение состоит в том, чтобы обновить агент SSH. Последние версии OpenSSH и PuTTY имеют агентов, совместимых с новым протоколом; Gn-agent GnuPG также должен поддерживать это начиная с v2.2.6.

сбивает с толку SHA256: префикс и подпись сообщения с использованием rsa-sha2-512.

SHA256: Префикс не имеет никакого отношения к создаваемым подписям. Это указывает на метод, которым был сгенерирован отпечаток ключа (отпечаток является прямым хешем открытого ключа, а не подписью). Старые клиенты использовали MD5 для этой цели.

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

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