Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

%SSH-3-INV_PUBKEY Сетевое оборудование и VPN

Cisco %SSH-3-INV_PUBKEY: Invalid public key format or size — Исправление ошибки

Обновлено: 24.08.2026 · Официальная документация ↗

Ошибка %SSH-3-INV_PUBKEY: Invalid public key format or size генерируется демоном SSH в Cisco IOS при попытке импорта или использования некорректного открытого ключа (Public Key) для аутентификации пользователей.

  • Отказ в аутентификации по публичному ключу (Public-key authentication failed).
  • Ошибка синтаксиса при выполнении команды ip ssh pubkey-chain.
  • Клиентские скрипты автоматизации (Ansible, Netmiko, Python) не могут подключиться без передачи пароля.
  • Разрыв SSH-соединения на этапе Key Exchange / User Auth.

1. Проверка текущих настроек SSH и сгенерированных ключей хоста

Убедитесь, что на устройстве сгенерирован RSA-ключ достаточной длины (минимум 2048 бит) и включен протокол SSH v2:

show ip ssh
show crypto key mypubkey rsa

2. Корректный импорт публичного ключа OpenSSH

Cisco IOS требует преобразования стандартной строки ключа OpenSSH в шестнадцатеричный/многострочный формат. Преобразуйте ключ на рабочей станции:

ssh-keygen -e -f ~/.ssh/id_rsa.pub -m RFC4716

3. Конфигурация цепочки ключей (Pubkey Chain) в Cisco IOS

Внесите открытый ключ для конкретного пользователя:

configure terminal
 ip ssh pubkey-chain
  username admin
   key-hash ssh-rsa <HEX_HASH_OR_KEY_STRING>
   ! Либо используйте прямой ввод ключа:
   key-string
    AAAA...[вставьте тело ключа без префикса ssh-rsa]...
    exit
   exit
  exit
 end

4. Включение поддержки современных алгоритмов

На современных версиях IOS-XE убедитесь, что включены безопасные алгоритмы обмена:

configure terminal
 ip ssh version 2
 ip ssh server algorithm publickey ecdsa-sha2-nistp256 rsa-sha2-256 rsa-sha2-512
 end
💡 Практика специалистов: Если вы настраиваете автоматизацию через Ansible/Paramiko на оборудовании Cisco IOS-XE, используйте алгоритмы ключей ECDSA или Ed25519 (если поддерживается софтом), так как парсер длинных 4096-битных RSA-ключей в CLI часто обрезает строки из-за лимита буфера терминала.

Частые вопросы (FAQ)

Почему при копировании ключа OpenSSH в терминал возникает Invalid public key format?

Стандартная однострочная строка OpenSSH (ssh-rsa AAAA... user@host) содержит служебные заголовки и комментарии. В CLI Cisco требуется вводить только саму base64-строку внутри блока key-string или преобразованный RFC4716 формат.

Какой минимальный размер ключа RSA поддерживает современный Cisco SSH Server?

Для генерации криптографических ключей и аутентификации рекомендуется использовать размер не менее 2048 бит. Ключи менее 1024 бит отвергаются современными версиями IOS.

Как перегенерировать RSA-ключи сервера при их повреждении?

Выполните crypto key zeroize rsa, а затем crypto key generate rsa general-keys modulus 2048.

Как проверить, разрешена ли аутентификация по публичным ключам глобально?

Проверьте вывод команды show running-config | include ip ssh. Должна отсутствовать блокировка ip ssh authentication-retries.

Полезные материалы
Рекомендуем