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.