尝试重新创建 SSH 主机密钥时出现错误“无法加载主机密钥”

尝试重新创建 SSH 主机密钥时出现错误“无法加载主机密钥”

我正在尝试重新创建 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

您创建了一个带有密码的主机密钥。是否有任何自定义功能可以解锁该主机密钥?如果没有,那么我认为这是可以预料到的:管理服务的脚本启动,尝试加载主机密钥,然后失败。据我所知,您不应该创建受密码保护的主机密钥。

如果你对强化 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指定密钥的位数。

这一页了解更多信息。

相关内容