2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > OpenSSH私钥BEGIN OPENSSH PRIVATE KEY与BEGIN RSA PRIVATE KEY格式转换方式

OpenSSH私钥BEGIN OPENSSH PRIVATE KEY与BEGIN RSA PRIVATE KEY格式转换方式

时间:2020-01-11 17:22:02

相关推荐

OpenSSH私钥BEGIN OPENSSH PRIVATE KEY与BEGIN RSA PRIVATE KEY格式转换方式

OpenSSH私钥BEGIN OPENSSH PRIVATE KEY与BEGIN RSA PRIVATE KEY转换方式。

比如Git使用时已经生成了openssh格式的密钥,但其他系统需要用你的私钥时,发现格式不对,恼火!

关键字

OpenSSHBEGIN OPENSSH PRIVATE KEYBEGIN RSA PRIVATE KEYOPENSSH PRIVATE KEYRSA PRIVATE KEYssh-keygenputtygen

一、简单对比

ssh-keygen -t rsa 生成ssh,默认是以新的格式生成,与OpenSSH1有关,高版本默认OPENSSH格式,不同的加密算法2。

OPENSSH加密算法

-----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:

loongshawn@xxx /usr/bin$ssh-keygen -m PEM -t rsa -b 4096 -f /home/loongshawn/.ssh/demo

执行结果如下:

Generating public/private rsa key pair.Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/loongshawn/.ssh/demoYour public key has been saved in /home/loongshawn/.ssh/demo.pubThe key fingerprint is:SHA256:xxxx loongshawn@xxxThe key's randomart image is:+---[RSA 4096]----+| . + d = ||..+ . |+----[SHA256]-----+

进入生成加密密钥的文件夹,找到加密文件,查看格式:

loongshawn@xxx ~/.ssh$cat demo-----BEGIN RSA PRIVATE KEY-----DXGGHTRFFDFAsDmHEcSRdAIj0kjdgu65sggsx4dPWaM0grptdnxxxxxxxxx

关于ssh-kengen3后面的参数说明:

-m: 参数指定密钥的格式,PEM(也就是RSA格式)是之前使用的旧格式-b:指定密钥长度;-e:读取openssh的私钥或者公钥文件;-C:添加注释;-f:指定用来保存密钥的文件名;-i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥;-l:显示公钥文件的指纹数据;-N:提供一个新密语;-P:提供(旧)密语;-q:静默模式;-t:指定要创建的密钥类型

puttygen工具转换

工具下载地址:/ ,有Linux、Mac、Windows版本,按需下载,安装方式自行百度或Google。

以Linux版本为例说明。

loongshawn@xxx /home/develop/puttygen#./puttygen /home/xxxx/.ssh/id_rsa -o loongshawn.ppkloongshawn@xxx /home/develop/puttygen#ll-rw-------. 1 rootroot 1900 1月 01 21:21 loongshawn.ppkloongshawn@xxx /home/develop/puttygen#./puttygen loongshawn.ppk -O private-openssh -o loongshanw_id_rsaloongshawn@xxx /home/develop/puttygen#ll总用量 3952-rw-------. 1 rootroot 1900 1月 01 21:21 loongshawn.ppk-rw-------. 1 rootroot 1900 1月 01 21:25 loongshanw_id_rsaloongshawn@xxx /home/develop/puttygen#cat loongshanw_id_rsa -----BEGIN RSA PRIVATE KEY-----HMGRG5AIBAAKCAYEA5yaDVP9DltF1XGthgdgdjgggweEHEeqzvwHg6AVvS8XREM0ccvvshahkahknvhrGGGHjJKKKNIwvTHazjB59pNX/RyCpjZIIk5I4cxkyHsnBoxxxxxxxxx

第一步:生成ppk文件,puttygen /home/xxxx/.ssh/id_rsa(源文件) -o loongshawn.ppk(中间文件)第二步:转换为rsa-pem格式转换,puttygen loongshawn.ppk(中间文件) -O private-openssh -o loongshanw_id_rsa(目标文件)

日常中若已经生成了openssh的key, 也不便删除从新生成rsa的key,可以使用本方式进行格式转换。若文中有不对指出,望不吝指出,谢谢!

What is OpenSSH? ↩︎

SSH keys (简体中文) ↩︎

ssh-keygen 维基百科 ↩︎

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。