putty openssh подпись rsa ключа недействительна

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

Я управляю сервером с Debian Linux 3.2.46-1+deb7u1 и OpenSSH Server 6.0, и защитил вход с помощью RSA-ключа размером 2048 бит.

Хотя подключение с использованием OpenSSH Client с другой машины проходит успешно, подключение отклоняется при использовании Putty 0.63 на машине с Windows 7 с следующим сообщением:

Сервер отклонил подпись открытого ключа, несмотря на прием ключа!

Поскольку проблема касается только Putty, я думаю, что вся конфигурация сервера правильная. Putty работает нормально, когда сервер работает на Debian 2.6.32 и OpenSSH 5.5.

Вот содержимое auth.log:

соответствующий ключ найден: файл /root/.ssh/authorized_keys, строка 2
8 окт 14:53:43 serverx sshd[28964]: Найден соответствующий RSA-ключ: XX:XX
8 окт 14:53:43 serverx sshd[28964]: debug1: restore_uid: 0/0
8 окт 14:53:43 serverx sshd[28964]: debug3: mm_answer_keyallowed: ключ 0x7fb3828774c0 разрешен
8 окт 14:53:43 serverx sshd[28964]: debug3: mm_request_send entering: type 22
8 окт 14:53:43 serverx sshd[28964]: debug3: mm_key_verify entering [preauth]
8 окт 14:53:43 serverx sshd[28964]: debug3: mm_request_send entering: type 23 [preauth]
8 окт 14:53:43 serverx sshd[28964]: debug3: mm_key_verify: ожидание MONITOR_ANS_KEYVERIFY [preauth]
8 окт 14:53:43 serverx sshd[28964]: debug3: mm_request_receive_expect entering: type 24 [preauth]
8 окт 14:53:43 serverx sshd[28964]: debug3: mm_request_receive entering [preauth]
8 окт 14:53:43 serverx sshd[28964]: debug3: mm_request_receive entering
8 окт 14:53:43 serverx sshd[28964]: debug3: monitor_read: проверка запроса 23
8 окт 14:53:43 serverx sshd[28964]: ошибка: несоответствие хешей
8 окт 14:53:43 serverx sshd[28964]: debug1: ssh_rsa_verify: подпись неверна
8 окт 14:53:43 serverx sshd[28964]: debug3: mm_answer_keyverify: ключ 0x7fb382871f80 подпись не проверена
8 окт 14:53:43 serverx sshd[28964]: debug3: mm_request_send entering: type 24

После этого сервер переходит на аутентификацию по паролю, и я могу успешно зайти.

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

Мой вопрос: Есть ли кто-то, кто знает, что может быть не так или что изменилось в OpenSSH с 5.5 до 6.0, что могло бы вызвать это? Есть ли предложения по исправлению?

Я видел это с Pageant и FileZilla, проблема исчезла после обновления Pageant.

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

Проблема, с которой вы столкнулись при использовании PuTTY 0.63 для подключения к серверу OpenSSH 6.0, связана с несовместимостью между клиентом и сервером в части обработки ключей RSA. Ошибка "Server refused public-key signature despite accepting key!" указывает на то, что сервер принимает ваш ключ, но не может правильно его обработать из-за различных версий и реализаций протокола.

Вот шаги, которые вы можете предпринять для решения данной проблемы:

  1. Убедитесь в правильности генерации ключа: Проверьте, что ваш RSA ключ был правильно сгенерирован и что вы используете соответствующий приватный ключ в PuTTY. Если приватный ключ был создан с использованием OpenSSH, то вам, возможно, потребуется конвертировать его в формат, совместимый с PuTTY, используя утилиту PuTTYgen. Откройте PuTTYgen, загрузите ваш приватный ключ в формате OpenSSH и сохраните его в формате PuTTY (PPS или PPK).

  2. Обновление PuTTY и его компонентов: Выполните обновление PuTTY до последней версии, так как версия 0.63 может работать некорректно с OpenSSH 6.0. Это может решить проблему с несовместимостью общения клиента и сервера. Также убедитесь, что вы используете последнюю версию Pageant, если его используете.

  3. Проверка конфигурации SSH сервера:

    • Откройте файл конфигурации SSH на сервере (обычно /etc/ssh/sshd_config).
    • Убедитесь, что параметры PubkeyAuthentication и AuthorizedKeysFile установлены и не закомментированы. Например:
      PubkeyAuthentication yes
      AuthorizedKeysFile .ssh/authorized_keys
    • Попробуйте также добавить опцию HostKeyAlgorithms и укажите более старые алгоритмы, если это возможно, для обеспечения обратной совместимости.
  4. Логи сервера SSH: Вы уже привели фрагмент логов, где упоминается error: hash mismatch и ssh_rsa_verify: signature incorrect. Это может подтверждать, что есть несоответствие в обработке подписей. Проверьте, нет ли в логах дополнительных сообщений, которые могут указать на более специфичную причину проблемы.

  5. Отладка с помощью -vvv: При установленном OpenSSH-клиенте можно использовать опцию -vvv для включения отладочного вывода. Это даст больше информации о том, что происходит при попытке аутентификации.

  6. Проверка на других системах: Если возможно, протестируйте подключение с помощью других SSH-клиентов для Windows, таких как MobaXterm или Bitvise SSH Client, чтобы определить, является ли проблема эксклюзивной для PuTTY.

  7. Переход на более новый дистрибутив: Если проблема затруднительна в решении и если это возможно, подумайте о переходе на более новую версию Debian и OpenSSH, поскольку вы используете довольно устаревшую версию.

После выполнения этих действий, проверьте, сможете ли вы подключиться к серверу с помощью PuTTY. Если проблема останется, рекомендуется также обратиться к сообществу поддержки PuTTY для получения дополнительных рекомендаций.

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

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