柴少的官方网站 技术在学习中进步,水平在分享中升华

linux ssh key转换

        我们在使用linux主机的时候一般生产key有两种形式,一种是在linux主机上面生成,然后将私钥分发出去,还有一种是用ssh工具生成然后将公钥上传至服务器。下面三种情况需要key的转换。

      

1.第一种,用putty生成了.ppk格式的私钥,但是我们是CRT或者X-shell等ssh工具,现在就需要进行私钥的转换了。比如说我现在putty生成的的私钥名称为test.ppk,那么如何转换成id_rsa格式呢,操作如下:

首先第一步下载安装工具:

wget http://the.earth.li/~sgtatham/putty/latest/putty-0.63.tar.gz
tar zxvf putty-0.63.tar.gz && cd putty-0.63
./configure
make

make install

puttygen test.ppk -O private-openssh -o /root/id_rsa

如果要转换成pem格式的,那就执行下面的命令:
puttygen test.ppk -O private-openssh -o  /root/test.pem

ps:
编译安装puttygen,这个就是转换的工具.
-O 后边指定要转换成的格式,这个必须要写成private-openssh
-o  用来指定,转换后的私钥路径以及名称.

2.第二种,用CRT或者X-shell等生成的密钥对,需要将id_rsa转化为.ppk格式。

这种操作方法网上很多酒直接贴链接地址了:

http://blog.slogra.com/post-245.html (备注1)

如果要将pem转换成.ppk格式呢?看下面的链接

http://www.07net01.com/linux/zhengshugeshizhuanhuan__pemzhuanchengppk_24538_1353077234.html   (备注2)

3.第三种,我们用windows生成的密钥对,公钥非.pub格式,需要进行转换,下面是命令:

ssh-keygen -if test  >>test.pub

为了防止链接失效,我想链接内容复制过来防止丢失:

备注1:

大家都知道在linux下生成的ssh私钥只有Tera Term这个软件可以使用,但Tera Term无法上传文件,只能使用winscp来上传,但winscp使用私钥的格式是ppk,所以要把linux下的私钥转换成ppk格式.

   需要的软件:puttygen.exe
1.下载puttygen
大家可以去http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html这个地址单独下载puttygen
2.转换成ppk格式
运行puttygen.exe-点击Conversions菜单项中的Import key,选择在linux下生成的id_rsa文件,成下面的图

putty1.jpg

然后点击Save provate Key按钮就可以转换成ppk格式,如图.

pupp2.jpg

好了大家可以看到已经把原来rsa格式的私钥转换成ppk的了,可以在winscp中导入使用了.

3.jpg

好了,就到这里吧.
备注2:

在linux/mac中可以直接使用pem格式的证书:例如远程登录linux主机:ssh -i xx.pem xxx@host

但是在windows就不是很方便了, 下面是将pem格式转成ppk格式,然后利用Putty登录。

1. 下载Puttygen.exe:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

2. 双击启动Puttygen.exe

3. 点击Load,然后选择pem格式的证书,然后点击打开

4. 提示导入成功后,点击Ok

5. 点击Save private key,提示是否确认不输入密码保护private key,点击OK, 然后起个名字保存成ppk格式,

6. 关闭Puttygen

登录:

1. 启动Putty, 在connection -> SSH -> Auth里的private key for authentication 浏览选择刚才的ppk格式证书。

作者:忙碌的柴少 分类:命令使用技巧 浏览:6442 评论:0
留言列表
发表评论
来宾的头像