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

Emi*_*mer 26 ssh openssh

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

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

问题:如何将dpkg-reconfigurekeylengh 4096 用于 RSA?

小智 46

上面的答案都不适合我。我通过执行以下操作修复了我的 ubuntu 系统:

/usr/bin/ssh-keygen -A
Run Code Online (Sandbox Code Playgroud)

  • 这个。这是真正的答案,正如 ssh-keygen 手册页中关于“-A”标志的确认:对于不存在主机密钥的每种密钥类型(rsa1、rsa、dsa、ecdsa 和 ed25519),生成带有默认密钥文件路径、空密码、密钥类型的默认位和默认注释的主机密钥。系统管理脚本使用它来生成新的主机密钥。 (4认同)

Liv*_*eBT 11

sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N 'myverylongpasswordhere' -b 4096 -t rsa
Run Code Online (Sandbox Code Playgroud)

重新创建我的钥匙。但是,在重新启动服务器后,我收到

could not load host key: /etc/ssh/ssh_host_rsa_key
Run Code Online (Sandbox Code Playgroud)

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

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

ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key
Run Code Online (Sandbox Code Playgroud)

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