linux:key_type_ssh_rsa_not_in_pubkeyacceptedalgorithms

key type ssh-rsa not in PubkeyAcceptedAlgorithms

25 августа 2022

Столкнулся с интересным поведением SSH. При попытке авторизоваться на Linux сервере из винды через PuTTY я получил ошибку «Server refused our key». Причём из под линукса с этим же ключом всё заходит отлично. В логах появляется такая строка:

userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]

Как оказалось, с версии openssh 8.8 (предположительно) что-то изменилось в алгоритмах шифрования.

Есть два решения этой проблемы:

Просто скачиваем с официального сайта дистрибутив с последней версией и запускаем. Всё сразу должно заработать. Мне это и помогло. Аналогично поступил и с другими программами, которые работают с ключами: WinSCP, KeePass, и его плагин KeeAgent.

Если по каким-то причинам вы не можете обновить используемое ПО, то можно перейти на использование алгоритма ECDSA для генерации ключей. В этом случае вам конечно же придётся создать новую пару ключей.

В PuTTYGen это делается просто выбором соответствующего переключателя:

В Linux это делается с помощью команды:

# ssh-keygen -t ecdsa
  • linux/key_type_ssh_rsa_not_in_pubkeyacceptedalgorithms.txt
  • Последнее изменение: 02.01.2026 02:02
  • r0wbh