使用 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 密钥的主要内容,如果未能解决你的问题,请参考以下文章

使用 OpenSSL 和公钥 ssh-keygen 为 SSH 生成私钥

ssh-keygen 和 openssl 给出了两个不同的公钥

openssl生免费证书--亲自实践有效

Linux密钥登陆

ssh(不是openssh) 做无密码登陆,怎么每次ssh 登陆还是要输入密码呀?

openssl 证书生成笔记(go 1.15版本以上)