如何生成Openssl .pem文件以及我们必须将其放置在何处


13

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

我可以使用以下方式生成密钥.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

但是问题是,我必须将其放置在服务器端,或者必须对/etc/ssh/sshd_config文件进行哪些更改才能允许使用.pem文件通过ssh进行远程登录。

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

ssh -i server_crt.pem username@my_ip

我必须对实现进行哪些更改。

谢谢

Answers:


18

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

例:

# ssh-copy-id -i ~/my-certificate.pub root@12.34.56.78

之后,它应该可以正常工作了,您应该可以使用以下命令登录:

$ sudo ssh -i ~/my-certificate.pem root@12.34.56.78

更改是在服务器计算机上的文件〜/ .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-证书
  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

1
毕竟,我收到错误消息 “权限被拒绝(公钥)” 并且无法连接
Farman Ali

嗨,出于安全原因,您的.pem文件不可写,请在计算机上使用sudo chmod 400 my-certificate.pem,然后重试。
迈克

嗨,我将其更改为400。但是问题仍然存在。请您逐步说明从生成密钥到从客户端连接的整个工作过程。
法曼·阿里2015年

重命名应在ssh-copy-id之后进行,因为它会查找我的证书文件
coolscitist
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.