OPENSSH PRIVATE 转换 RSA PRIVATE 以及区别
关键字
- OpenSSH
- BEGIN OPENSSH PRIVATE KEY
- BEGIN RSA PRIVATE KEY
- OPENSSH PRIVATE KEY
- RSA PRIVATE KEY
- ssh-keygen
- puttygen
Git使用时已经生成了openssh格式的密钥,但其他系统需要用你的私钥时,发现格式不对,恼火!
1.首先我们有OPENSSH 私钥
2下载工具puttygen
Download Putty (0.77) for Windows, Linux and Mac - Install SSH in PuTTY
3. 双击打开
之后导出 RSA 私钥
区别
一、简单对比
ssh-keygen -t rsa 生成ssh,默认是以新的格式生成,与OpenSSH1有关,高版本默认OPENSSH格式,不同的加密算法2。
OPEN SSH加密算法
-----BEGIN OPENSSH PRIVATE KEY-----
xxxxxxxxxxx
-----END OPENSSH PRIVATE KEY-----
RSA加密算法
-----BEGIN RSA PRIVATE KEY-----
xxxxxxxxxxx
-----END RSA PRIVATE KEY-----
生成RSA格式加密文件
ssh-keygen指定格式
执行以下命令,指定格式为PEM,即-m PEM:
root@ssh-keygen -m PEM -t rsa -b 4096 -f /home/
执行结果下:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:BbcsL/2oee4DL3mmfHYmsVKQaCvW4DTPQEpGGvsycPI root@hlly
The key's randomart image is:
+---[RSA 2048]----+
|... . . |
| +o . + . |
|=o.o ...+ |
|.=. = o o= |
|o Eo O .S.o |
进入生成加密密钥的文件夹,找到加密文件,查看格式:
[root@hlly .ssh]# cat id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAtliDmgwSx/ku7Km+tgfquyS460NhiOzk2S50+LYdo+LjtMJ8
mWxFIJOtAe2cde3QzrbymoAQsryLWMgNlFy+5HiafXY5/RGzcJzF++nnzaiVxC9i
+6U5urPsSwGMHcJ0FE079G0i/o1A38VvJDnraNMkoYyQ9xFML2t46c8bAHFQRTuw
d+bg3pOODjojEn/Bg4Ukx11ZuZKkyHeaK4tmRlxwOytRue64NnKo8H4h9Ue+oSqU
关于ssh-kengen3后面的参数说明:
- -m: 参数指定密钥的格式,PEM(也就是RSA格式)是之前使用的旧格式
- -b:指定密钥长度;
- -e:读取openssh的私钥或者公钥文件;
- -C:添加注释;
- -f:指定用来保存密钥的文件名;
- -i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥;
- -l:显示公钥文件的指纹数据;
- -N:提供一个新密语;
- -P:提供(旧)密语;
- -q:静默模式;
- -t:指定要创建的密钥类型
puttygen工具转换
工具下载地址:PuTTYgen Download - Download Putty 0.77 ,有Linux、Mac、Windows版本,按需下载
以Linux版本为例说明。
[root@hlly .ssh]#./puttygen /home/xxxx/.ssh/id_rsa -o loongshawn.ppk
[root@hlly .ssh]#ll
-rw-------. 1 root root
[root@hlly .ssh]#./puttygen loongshawn.ppk -O private-openssh -o loongshanw_id_rsa
[root@hlly .ssh]#ll
总用量 3952
-rw-------. 1 root root 1900 1月 01 21:21 loongshawn.ppk
-rw-------. 1 root root 1900 1月 01 21:25 loongshanw_id_rsa
[root@hlly .ssh]#cat loongshanw_id_rsa
-----BEGIN RSA PRIVATE KEY-----
HMGRG5AIBAAKCAYEA5yaDVP9DltF1XGthgdgdjgggweEHEeqzvwHg6AVvS8XREM
0ccvvshahkahknvhrGGGHjJKKKNIwvTHazjB59pNX/RyCpjZIIk5I4cxkyHsnBo
- 第一步:生成ppk文件,puttygen /home/xxxx/.ssh/id_rsa(源文件) -o loongshawn.ppk(中间文件)
- 第二步:转换为rsa-pem格式转换,puttygen loongshawn.ppk(中间文件) -O private-openssh -o loongshanw_id_rsa(目标文件)