我正在尝试重新创建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
keylengh 4096用于RSA?
@DavidFoerster看起来是个好建议。我尝试通过临时移动密钥,使用密码创建新密钥,停止并重新启动来重新创建问题。我没有收到OP的错误消息。这是我得到
—
LiveWireBT 2015年
livewire@za20:/etc/ssh$ sudo sshd -d
输出的结果,sshd re-exec requires execution with an absolute path
否则我将在答案中包含一个示例:(
抱歉,应该已经
—
David Foerster
sudo /usr/sbin/sshd -d
。您得到的错误是字面上的意思(尽管不是很清楚)。
即使已接受的答案解决了问题,但我仍然想知道第一篇文章中的最后一个问题:如何
—
ph0t0nix
dpkg-reconfigure
与密钥长度4096一起使用?是否有包含此信息的配置文件?我环顾了debconf数据库(中的/var/cache/debconf/
),但没有发现任何看起来像密钥长度的东西。
sshd
从命令行(sudo sshd -d
)以调试模式运行,以获取有关该问题的更多信息,然后发布输出。