如何生成 Openssl .pem 文件以及我们必须放置它的位置

Far*_*Ali 18 ssh authentication openssh openssl

我想生成一个 OpenSSL.pem文件,以允许在.pem密码位置使用文件通过 ssh 进行远程登录。

我能够生成密钥,以及.crt.pem文件中使用以下

sudo openssl genrsa -des3 -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
openssl x509 -inform DER -outform PEM -in server.crt -out server.crt.pem
Run Code Online (Sandbox Code Playgroud)

但问题是我必须将它放在服务器端的位置,或者我必须在/etc/ssh/sshd_config文件中进行哪些更改以允许使用 file.ssh 远程登录.pem

我希望该客户端以下列方式连接我的机器。

ssh -i server_crt.pem username@my_ip
Run Code Online (Sandbox Code Playgroud)

我必须为实施做出哪些改变。

谢谢

Mik*_*ike 20

首先,您需要将公钥上传到您愿意连接的服务器,公钥在 .pub 文件中:

例子:

# ssh-copy-id -i ~/my-certificate.pub root@12.34.56.78
Run Code Online (Sandbox Code Playgroud)

在此之后,它应该可以正常工作,您应该可以使用以下方法登录:

$ sudo ssh -i ~/my-certificate.pem root@12.34.56.78
Run Code Online (Sandbox Code Playgroud)

在服务器机器上的文件 ~/.ssh/authorized_keys 中进行更改,使用文本编辑器(例如 nano)打开,您将看到以以下内容开头的行:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAX ...

我个人使用 $ ssh-keygen -t rsa -b 2048 -v 生成密钥文件,它会生成 .pem 和 pub 文件。当你被问到:

输入保存密钥的文件 (/home/user/.ssh/id_rsa):

输入 .pem 文件的名称,例如:my-certificate.pem

从生成密钥到登录的步骤:

  1. 生成密钥,$ ssh-keygen -t rsa -b 2048 -v当要求输入保存密钥的文件时,键入my-certificate并在要求输入密码时,按 Enter(空密码)并按 Enter 确认。
  2. 您将生成两个文件,一个是 my-certificate,一个是 my-certificate.pub,将 my-certificate 重命名为 my-certificate.pem,因此您将有两个文件,my-certificate.pub 和 my-证书.pem
  3. 将公共证书上传到服务器: ssh-copy-id -i ~/my-certificate.pub username@ip
  4. 将计算机上的 .pem 文件设为只读 sudo chmod 400 my-certificate.pem
  5. 登录 $ sudo ssh -i /path/to/my-certificate.pem user@ip