.pem密钥和.pub密钥有什么区别?

配置密钥登录centos,先在本地windows上运行ssh-keygen -t rsa -P ''会生成一对密钥,文件名默认是:

id_rsa
id_rsa.pub

用阿里云主机的时候,在阿里云网站也可以生成密钥,它是.pem格式,而不是.pub格式。

问题:
1、.pem密钥和.pub密钥有什么区别?
2、不同用户可以共用密钥登录吗?新建了一个test_user做测试,共用密钥不能登录,不知是没有设置对还是不能共用密钥,用xshell尝试登录,会提示“所选的用户密钥未在远程主机上注册。请再试一次。”用上面自己生成的.pub密钥对也提示同样的信息,哪里没有设置对?

阅读 18.2k
2 个回答
file .ssh/id_rsa
.ssh/id_rsa: PEM RSA private key

file .ssh/id_rsa.pub 
.ssh/id_rsa.pub: OpenSSH RSA public key

一个是RSA私钥,一个是RSA公钥.
解答:
1、.pem里可以是公钥也可以是私钥,而.pub是 openssh 使用的公钥
2、可以,需要把pub文件放到对应的文件中去,test_user 如果是本地用户,则把id_rsa放到你 /home/test_user/.ssh/下面,如果远程用户,则把id_rsa.pub的内容放追加/home/test_user/.ssh/authorized_keys 文件里。

.pem 主要用来https,这个相当于被签名的公钥,也就是证书
.pub 这个就是公钥,主要用来ssh登录

关于第二点是可以不同用户来登录的,我估计你在ssh配置文件里面使用了~/这个路径。那显然,因为ssh的公钥只在一个用户目录里面,而这个路径用不同的用户会匹配不同的home目录,你创建的test_user的家目录里面没有公钥。找不到所以登录不了。不过为了安全,最好不要使用绝对路径设置ssh登录公钥路径

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题