Ошибка `не удалось загрузить ключ хоста` при попытке воссоздать ключи хоста SSH

Я пытаюсь воссоздать ключи хоста ssh-сервера.

У меня есть как минимум два способа сделать это:

  • С dpkg-переконфигурировать

    dpkg-reconfigure openssh-server
    

    Это прекрасно работает, но я не могу дать длину ключа тогда. Я хочу, например, 4096 для ключа RSA.

  • Вручную с помощью ssh-keygen

    sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N 'myverylongpasswordhere' -b 4096 -t rsa
    

    Это воссоздает мне ключи, но после перезапуска сервера я получаю следующее сообщение об ошибке:

    could not load host key: /etc/ssh/ssh_host_rsa_key
    

    поэтому я проверил файл sshd_config, что там:

    HostKey /etc/ssh/ssh_host_rsa_key
    

    соответствует идеально. Итак, я проверил владельца и права на все мои ключи

    -rw------- 1 root root 3326 Mär 24 08:57 ssh_host_rsa_key
    

    Когда я удаляю все ключи и воссоздаю их с dpkg-reconfigure openssh-serverключи меньше и имеют те же права доступа к файлам, что и выше.

Вопрос: как я могу использовать dpkg-reconfigure с кейленгом 4096 для RSA?

3 ответа

Решение
sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N 'myverylongpasswordhere' -b 4096 -t rsa

воссоздает мне ключи. но после перезапуска сервера я получаю

could not load host key: /etc/ssh/ssh_host_rsa_key

Вы создаете хост-ключ с паролем. Есть ли какие-либо настройки, чтобы разблокировать этот hostkey? Если нет, то я думаю, что именно этого и следует ожидать: скрипт, который управляет службой, запускается, пытается загрузить хост-ключ и завершается неудачей. Насколько я знаю, вы не должны создавать хост-ключи, защищенные паролями.

Если вы заинтересованы в усилении безопасности своего SSH-сервера, я рекомендую прочитать https://stribika.github.io/2015/01/04/secure-secure-shell.html команду, использованную для создания ключа хоста в этом документе:

ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key

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

Ни один из ответов выше не работал для меня. Я исправил свою систему Ubuntu, выполнив следующие действия:

/usr/bin/ssh-keygen -A

Просто запустите:

ssh-keygen -t rsa -b 4096

ssh-keygen генерирует ключ SSH.

  • -t указывает тип ключа для создания
  • -b указывает количество бит в ключе.

Смотрите эту страницу для получения дополнительной информации.

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