Я пытаюсь воссоздать ключи хоста ssh-сервера.
У меня есть как минимум два способа сделать это:
С помощью dpkg-reconfigure
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?
решение1
Ни один из ответов выше не помог мне. Я исправил свою систему Ubuntu, выполнив следующие действия:
/usr/bin/ssh-keygen -A
решение2
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 с паролем. Есть ли какая-либо настройка для разблокировки этого hostkey? Если нет, то я думаю, что этого и следовало ожидать: скрипт, управляющий службой, запускается, пытается загрузить hostkey и терпит неудачу. Насколько мне известно, не следует создавать hostkey, защищенные паролями.
Если вы заинтересованы в усилении защиты вашего SSH-сервера, то я рекомендую прочитатьhttps://stribika.github.io/2015/01/04/secure-secure-shell.htmlКоманда, используемая для создания ключа хоста в этом документе, выглядит следующим образом:
ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key
Однако перед внесением каких-либо изменений вам следует прочитать весь документ.
решение3
Просто запустите:
ssh-keygen -t rsa -b 4096
ssh-keygen
генерирует SSH-ключ.
-t
указывает тип создаваемого ключа-b
определяет количество бит в ключе.
Видетьэта страницаЧтобы получить больше информации.