了解ppk-pub-pem各种不同的密钥文件
ssh
Secure Shell(SSH)是一种加密传输协议,常用于连接Unix/Linux服务器。默认端口TCP 22.
常见的客户端有:putty、Xshell、SecureCRT、Termius(ios替代品)、MobaXterm
最常见的密钥大致分为两种:putty相关的.ppk文件和openssh相关的rsa/.pub。
关于ssh,主要是windows和linux平台软件的差异,比如.ppk,linux里ssh不支持.ppk文件,需要转化。
各种不同的密钥文件
- open-ssh生成的密钥对,公钥和私钥是分开的。id_rsa(id_rsa.pub)分别为私钥(公钥)。
- ppk文件由Putty生成,也称为PuTTY Private Key,单个文件包含了公钥和私钥。
- pem文件可以包含任何东西: 具有公共密钥的证书、SSH公钥、公钥私钥、具有公钥私钥的证书。 PEM是一个文本文件,可以用记事本打开。
文件转化
以Ubuntu为例,简要说明.ppk文件的转化:
首先需要安装putty-tools:
sudo apt install putty-tools -y
#ppk 转换成 rsa/rsa.pub
puttygen /path/.../puttykey.ppk -O private-openssh -o ~/.ssh/id_rsa
puttygen /path/.../puttykey.ppk -O public-openssh -o ~/.ssh/id_rsa.pub
#ppk 转换成 .pem
puttygen puttykey.ppk -O private-openssh -o ~/.ssh/newkey.pem
#rsa 转换成 .ppk
puttygen openssh_rsa_keyname -o keyname.ppk
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 400 ~/.ssh/keyname.xxx
Winodws就简单许多,打开puttygen.exe,按照文本说明进行操作即可。
疑问
-
pem和pub什么区别
pem里可以是公钥也可以是私钥,而.pub是 openssh 使用的公钥
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公钥。
-
不同用户可共用密钥吗
可以,需要把pub文件放到对应的文件中去,test_user 如果是本地用户,则把id_rsa放到 /home/test_user/.ssh/下面,如果远程用户,则把id_rsa.pub的内容放追加到 /home/test_user/.ssh/authorized_keys 文件里。
参考资料
本文收藏来自互联网,仅用于学习研究,著作权归原作者所有,如有侵权请联系删除
markdown @tsingchan
引用格式为收藏注解,比如本句就是注解,非作者原文。