以前在windows上使用的putty的私钥,想移植到linux使用。使用 PUTTYGEN.EXE 转换了半天,研究了半天依然不行。最后网上搜了搜,说是要使用linux下的putty转换才行。于是,网上下载了源码。

wget http://the.earth.li/~sgtatham/putty/latest/putty-0.63.tar.gz  (该版本有个bug,当我们转换的时候会报错: Assertion failed: (random_active), function random_byte, file ./unix/../sshrand.c, line 313. Abort )这是个bug,所以需要下载旧版的putty,下载地址为 http://the.earth.li/~sgtatham/putty/0.62/putty-0.62.tar.gz , 若是该地址失效,请使用这个地址下载:www.aminglinux.com/bbs/data/p_w_upload/forum/201407/29/putty-0.62.tar.gz  以下方法一样的。
tar zxvf putty-0.63.tar.gz
cd  putty-0.63
cd unix
./configure 
make 

不用安装它,make 即可。
./puttygen /tmp/prikey.ppk -O private-openssh -o  /tmp/123.ppk

这里要解释一下,当make后,就会在当前目录下生成一个 puttygen,这个就是转换的工具;
上述命令中, /tmp/prikey.ppk 为windows下putty的私钥;
-O 后边指定要转换成的格式,这个必须要写成private-openssh
-o  用来指定,转换后的私钥路径以及名称。

到这里已经转换好了,下面就该使用转换后的私钥了。
ssh  -i  /tmp/123.ppk   root@192.168.1.05  
看看你是否能登录了呢?