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

Modified on: Sun, 10 Jun 2018 03:33:53 +0800

我正在尝试重新创建ssh-server主机密钥。

我至少有两种方法可以做到这一点:

  • 使用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重新创建它们时,密钥更小并且具有与上面相同的文件权限。

问题:对于RSA,如何将dpkg-reconfigure与keylengh 4096一起使用?

最佳答案

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

您使用密码创建主机密钥。是否有任何自定义来解锁该主机密钥?如果没有,那么我认为这是预期的:管理服务的脚本启动,尝试加载主机密钥,然后失败。据我所知,你不应该创建受密码保护的hostkeys。

如果您有兴趣加强SSH服务器,那么我建议您阅读https://stribika.github.io/2015/01/04/secure-secure-shell.html用于在该文档中创建主机密钥的命令是:

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

但是在进行任何更改之前,您应该阅读整个文档。

作者:LiveWireBT

相关问答

添加新评论