使用 ssh-keygen / OpenSSL 生成 SSH 密钥

Posted

技术标签:

【中文标题】使用 ssh-keygen / OpenSSL 生成 SSH 密钥【英文标题】:SSH key generation using ssh-keygen / OpenSSL 【发布时间】:2021-09-10 21:36:14 【问题描述】:

我们有 2 个不同的服务器来实现连接,目前我们正在使用基于密码的登录,需要禁用此基于密码的登录并且只需要使用基于密钥的登录,其中需要使用 ssh-keygen 或 openssl 生成密钥?这样我就可以像下面这样登录了

ssh -i .ssh/mykey.pem user@host

上述命令不应提示输入密码

我曾尝试使用 ssh-keygen 生成,然后是 ssh-copy-id,但每次都提示输入密码,而且我们不想设置无密码连接。

【问题讨论】:

【参考方案1】:

要生成新的 RSA 对,您可以使用命令

ssh-keygen -t rsa

然后在 sshd 服务器配置中你必须设置

PasswordAuthentication   yes
PubkeyAuthentication     yes
AuthorizedKeysFile       .ssh/authorized_keys

关于您的最新问题:您是否在生成对时设置了 RSA 密钥密码?如果是,用户将被要求输入此密码而不是系统用户密码。

【讨论】:

以上是关于使用 ssh-keygen / OpenSSL 生成 SSH 密钥的主要内容,如果未能解决你的问题,请参考以下文章

Linux里面openssl作用是啥?

linux-openssl命令行

linux怎么查询openssl-devel

linux下安装openssl出错的问题

linux环境php.ini已开启openssl但phpinfo里没有

linux已经安装openssl,如何重新编译php支持openssl模块