公钥与私钥生成工具:openssl, ssh-genkey
openssl:
1. 下载windows版openssl: http://gnuwin32.sourceforge.net/packages/openssl.htm
2. 执行openssl.exe
3. 生成RSA私钥:
genrsa -out rsa_private_key.pem 1024
4. 生成RSA公钥:
输入命令rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem,并回车
ssh-genkey:
1. 打开cmd
2. ssh-keygen -t rsa
3. 生成的密钥id_rsa,公钥id_rsa.pub
openssl与ssh-genkey区别?待研究。
与jscraft 框架:使用ssh-genkey生成的公钥,会报:com.jcraft.jsch.JSchException: invalid privatekey。网上有各种解释,其中以下博客解决问题。https://blog.csdn.net/wangfengtong/article/details/105968087
解决办法:用WinSCP或者putty把私钥,id_rsa转换成.ppk类型秘钥即可(openssh转成putty格式,用winscp打开选择linux那个私钥,它就提示了,或百度其他办法),部署时还要用id_rsa,要根据环境加载不同格式密钥
我是用winscp-> tools- > Run puTTYGen转化的。参考如下: