Centos 7 - ssh-keygen 不生成密钥

Centos 7 - ssh-keygen 不生成密钥

sshd由于缺少密钥,服务无法启动。当我尝试使用生成密钥时

ssh-keygen -t dsa

我刚刚收到消息说:

Generating public/private dsa key pair.

我没有收到指定密钥文件位置的提示。它只是没有做任何事情。

当我使用

ssh-keygen -t rsa

我明白了

Generating public/private rsa key pair. rsa_generate_private_key : Key generation failed.

我尝试使用不同的 iSO 和 RHEL 7 来运行它。我总是遇到这个问题。我尝试了带有-v选项的命令,但尚未获得日志输出。

答案1

[感谢莱昂布洛伊和布拉奇利]

我使用 strace 与 centos 下的工作 Fedora 输出进行了比较。两者看起来几乎一样。 (修复了一些网络问题,认为这可能是原因)。

看了源码

http://www.opensource.apple.com/source/OpenSSH/OpenSSH-74/openssh/key.c.orig?txt

它只调用 openssl libraray。因此,直接尝试使用 openssl 生成 rsa 证书。

这给了我错误指出

`https://bugzilla.redhat.com/show_bug.cgi?id=1150286'

添加环境变量

export OPENSSL_ia32cap=~0x4000000000000000

解决了这个问题。

答案2

可能是虚拟化 guest 的一些熵问题,但奇怪的是您没有收到任何错误消息(添加 -vvv 以增加详细程度,查看日志)。

另请参阅给您带来了什么cat /proc/sys/kernel/random/entropy_avail

rngd -r /dev/urandom您也可以尝试在生成密钥之前运行

(如果没有,rngd可以使用 来安装yum install rng-tools

相关内容