首页 > 其他分享 >[转]PuTTY的ppk密钥与OpenSSH密钥之间的相互转换

[转]PuTTY的ppk密钥与OpenSSH密钥之间的相互转换

时间:2023-08-02 15:03:35浏览次数:39  
标签:ppk OpenSSH rsa 密钥 格式 id

在手机上使用juiceSSH用密钥连接服务器,以前是用win10 命令行生成的私钥,使用没有问题,这次换了MobaXterm带的工具(后来发现应该是开源的PuTTY项目里的工具)生成的密钥,就登不上了,最后用文本编辑器打开两种密钥,发现格式大不一样,遂查找转换方法,找到一篇说的比较明白,特转载备用:

原文地址:PuTTY的ppk密钥与OpenSSH密钥之间的相互转换 - 简书

几个概念说明:id_rsa、id_rsa.pub、ppk、pem

目前有两个主流的密钥格式:OpenSSH格式的密钥 和 PuTTY格式的密钥。

  1. id_rsa和id_rsa.pub
    都是OpenSSH格式的密钥。
    id_rsa是OpenSSH格式的SSH私钥。
    id_rsa.pub是OpenSSH格式的SSH公钥。
  2. ppk文件
    ppk文件是Putty的私钥。PuTTY Private Key 的缩写。
    但是ppk文件中同时包含了公钥和私钥,可用记事本打开查看。
  3. pem文件
    pem文件可以包含任何东西: 具有公共密钥的证书,SSH公钥,公钥私钥,具有公钥私钥的证书。 PEM是一个文本文件,可以用记事本打开。

OpenSSH格式 和 PuTTY格式使用的都比较多,经常拿到其中一种格式,而使用中却需要另一种格式的。这就需要转换。

linux下的相互转换

ppk转换为OpenSSH格式

安装putty工具(以ubuntu为例)

sudo apt-get install putty-tools

已知PuTTY格式的ppk密钥puttykey.ppk,获取私钥id_rsa

puttygen /path/to/puttykey.ppk -O private-openssh -o ~/.ssh/id_rsa

获取公钥id_rsa.pub

puttygen /path/to/puttykey.ppk -O public-openssh -o ~/.ssh/id_rsa.pub

OpenSSH格式转换为ppk

安装putty工具(以ubuntu为例)

sudo apt-get install putty-tools

已知OpenSSH格式的私钥keyname,转换为keyname.ppk

puttygen keyname -o keyname.ppk

windows下的相互转换

也是借助 puttygen 工具。
安装putty工具,然后打开配套的puttygen.exe

ppk转换为OpenSSH格式

           

保存OpenSSH格式的私钥


   

再保存OpenSSH格式的公钥


   

OpenSSH格式转换为ppk

                   

TortoiseGit 和 git 对密钥的使用

TortoiseGit默认使用的是putty格式的密钥。
git使用的是OpenSSH格式的密钥。

TortoiseGit可以将tortoisegitplink.exe改成git安装目录的下bin\ssh.exe,然后使用OpenSSH格式的密钥。

linux下git如果只有ppk密钥,想要使用这个密钥,需要完成如下两步:

  1. 把ppk密钥转化为OpenSSH的公钥id_rsa.pub和私钥id_rsa
  2. 把这两个文件移到~/.ssh文件夹下


作者:book_02
链接:https://www.jianshu.com/p/7818b3ad1d72
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

标签:ppk,OpenSSH,rsa,密钥,格式,id
From: https://www.cnblogs.com/dirgo/p/17600661.html

相关文章

  • Asp.Net Core 集成JWT采用Rsa非对称密钥并实现自定义身份验证
    授权和鉴权分为了两个项目。首先是授权:建立Asp.netcore项目,并在Nuget包安装System.IdentityModel.Tokens.Jwt新建一个WebApi用于登录,这里使用账户密码方便调试。另外BaseResult是我封装的一个统一返回数据类型。需要注意的是audience以及JwtRegisteredClaimNames.Name......
  • Visual Studio 2022 密钥永久激活(亲测有效)
    分享一下VisualStudioProfessional2022版安装和激活教程。教程如下,含免费密钥,亲测有效,下面是详细文档哦~申明:本教程VisualStudioProfessional2022激活密钥均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版!PS:本教程最新更......
  • 创建k8s 镜像仓库登录密钥
    原标题:k8s使用私有镜像仓库的访问凭据配置k8s创建私有仓库凭据有两种方式1.使用kubectl命令创建secret2.使用docker凭证作为k8s的凭据。文章来源地址https://www.yii666.com/blog/458024.html1.使用kubectl命令创建secretkubectlcreatesecretdocker-registry<name>--do......
  • Centos7 离线升级openssh到9.3p1
    参考:https://blog.csdn.net/qq_29768197/article/details/125048720参考:https://blog.csdn.net/weixin_46739058/article/details/129189927 1、官方下载地址:http://www.zlib.net/     zlib-1.2.12.tar.gzwget http://www.zlib.net/zlib-1.2.13.tar.gz 2、官方......
  • Office 看不了激活更改产品密钥
    Office看不了激活更改产品密钥解决方案:PatchOffice.rar-蓝奏云将文件解压到桌面>>>右击,以管理员方式运行或双击运行均可>>>显示成功,改步去除重新打开......
  • centos7 openssh升级到9.3.p1
    配置openssh目录cp/etc/ssh/sshd_config/etc/ssh/sshd_config.bakcp/etc/pam.d/sshd/etc/pam.d/sshd.bakmkdir-p/root/opensshcd/root/openssh上传已经制作好的openssh包openssh-9.3p1-1.el7.x86_64.rpmopenssh-clients-9.3p1-1.el7.x86_64.rpmopenssh-server-9.3......
  • openssh升级(centos7.6)
    OpenSSH升级上传软件包openssh-8.1p1.tar.gz1.安装telnet服务   yum-yinstalltelnet-server*telnet(yuminstall-yxinetd)   vi/etc/xinetd.d/telnet(将其中disable字段的yes改为no以启用telnet服务)   mv/etc/securetty/etc/securetty.old......
  • JProfiler激活码分享最新可用jprofiler13许可证密钥
    JProfiler是一款专业的Java应用程序性能分析工具,可帮助开发人员识别和解决Java应用程序中的性能问题。JProfiler支持JavaSE、JavaEE和Android平台,提供了多种分析选项,包括CPU分析、内存分析和线程分析等。JProfiler激活码获取 使用JProfiler,开发人员可以实时查看Java应用程......
  • windows下申请huilderX打包所需要的安卓以及ios证书以及密钥文件
    背景:HbuilderX打包app时,需要证书和密钥文件,ios包所需要的证书和密钥需要在苹果电脑上申请,如果身边没有Mac也没有关系,我们也可以在windows环境下生成一系列文件。1.生成安卓包所需要的keystore文件可以通过https://www.yunedit.com/香蕉云编,非常方便。进入后点击安卓证书生成,填写......
  • Camtasia 2023.0.0 Mac中文解锁版含camtasia2023激活密钥
    随着网络科技的迅速发展,所以对于电脑的使用率也就越来越高了!然而,也可能跟这有关系,目前各种类型的软件层出不穷,当然也就包括了电脑录屏软件。这给我们造成了一些困难,究竟哪一款适合自己呢?Camtasia2023是TechSmith公司出品的一款屏幕录像和编辑的软件,可轻松录制和分享高质量的截屏视......