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格式使用的都比较多,经常拿到其中一种格式,而使用中却需要另一种格式的。这就需要转换。

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文件夹下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/630461.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++基础2

一、c的引用 引用和指针的的区别? 引用是一种更安全的指针: 1. 引用必须初始化,指针可以不用初始化 int a 10; int *p; // 指针可能是野指针 int &b a;//引用赋值",通常指的是直接修改引用所引用的对象的值&#xff0…

【每日随笔】远离美女 ② ( 各个时代的择偶需求 | 美女的社交溢价 | 颜值保质期 )

文章目录 一、各个时代的择偶需求1、原始社会择偶需求2、古代社会择偶需求3、现代社会择偶需求 二、美女的社交溢价与颜值保质期1、美女的社交溢价2、颜值保质期 一、各个时代的择偶需求 1、原始社会择偶需求 在之前提到过 , 美女 基因稳定 , 原始社会 婴儿 夭折率太高 , 只有…

JavaScript之视频相关API

目录 一、视频标签基本API1. play(开始)2.muted(静音)3. pause(暂停)4. volume(声音控制)5. webkitRequestFullScreen(全屏) 二、视频标签进度条API1. 总时间API(duration)2.当前时间API(currentTime) 二、进度条拉动效果 一、视频…

Qt/QML编程之路:小键盘keyboard(36)

小键盘对于qml应用是经常用到的,在qml里面,就如一个fileDialog也要自己画一样,小键盘keyboard也是要自己画的,对于相应的每个按键的clicked都要一一实现的。 这里有一个示例: 代码如下: import QtQuick 2.5 import QtQuick.Controls 1.4 import QtQuick.Window 2.0 im…

yum仓库以及NFS共享

yum实现过程 1.光驱里自带yum 2.网络下载到本地 3.直接通过网络 如何实现安装服务 yum客户端找到yum服务端,找到yum的仓库位置,下载元信息,因为里面有软件的位置,因此可以找到软件包的位置,然后下载到本地 仓库的类…

25考研英语复习计划

Hello各位小伙伴大家好,今天要给大家分享的是英语备考计划,大家可以作为参考,制定适合自己的备考计划。 【英一/二】 英语分为英一、英二,一般学硕英一,专硕英二。 英一要比英二难度大。 【复习计划】 1-2月&#xf…

图深度网络浅层理解

图神经网络 1.输入: 图网络 2.输出: 节点类别、某两个节点的新连接、产生新的图或子图 3.端到端表示学习(Representation Learning)/图嵌入: 将节点映射为d维的向量,d维向量就包含了这个节点的连接关系…

H5小游戏如何提升APP变现收益?

在当前用户规模稳定但变现压力增加的背景下,开发者需要挖掘用户价值,提高营收,这成为开发者关注的重点话题。对于那些“用户用完即走”的APP产品来说,接入H5游戏能够吸引停留,为其带来收入上的增长。 一、什么是H5游戏…

小程序学习-17

attached最常用 推荐使用 lilfetimes 这种方法

springcloud Eureka服务注册与发现

文章目录 代码地址Eureka基础知识什么是服务治理什么是服务注册与发现 单机版eurekaServerIDEA生成eurekaServer端服务注册中心类似物业公司EurekaClient端cloud-provider-payment8001修改EurekaClient端cloud-consumer-order80 集群Eureka构建步骤新建cloud-eureka-server7002…

计算机找不到iutils.dll的5种有效的解决方法,一分钟教会修复dll问题

在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“某某文件丢失”或“某某文件损坏”,找不到iutils.dll就是其中之一。iutils.dll是一个系统级的动态链接库文件(DLL),它是Windows操作系统…

grep 在运维中的常用可选项

一、对比两个文件 vim -d <filename1> <filename2> 演示&#xff1a; 需求&#xff1a;&#xff5e;目录下有两个文件一个test.txt 以及 text2.txt,需求对比两个文件的内容。 执行后会显示如图&#xff0c;不同会高亮。 二、两次过滤 场景&#xff1a;当需要多…

(一)ROS的安装

&#xff08;一&#xff09;安装ubuntu18.04 系统&#xff08;虚拟机或者是物理机&#xff0c;在此不再介绍&#xff09; &#xff08;二&#xff09;添加ROS镜像源 apt 列表中没有ROS源&#xff0c;所以要手动添加 sudo sh -c . /etc/lsb-release && echo "deb…

美易官方:Vision Pro上市在即‘高端体验与舒适度的权衡’

随着科技的不断进步&#xff0c;虚拟现实&#xff08;VR&#xff09;、增强现实&#xff08;AR&#xff09;和混合现实&#xff08;MR&#xff09;设备日益成为科技爱好者和专业人士关注的焦点。作为市场上备受期待的高端头显&#xff0c;Vision Pro即将在美国当地时间1月19日开…

在vite5和vue3开发环境中使用jodit4富文本编辑器,并添加自定义插件和使用highlight.js实现代码块高亮(附其他自定义配置项和全部代码)

最近富文本编辑器jodit终于更新发布到了4.0版本&#xff0c;加入了css变量、有更好的typescript支持&#xff0c;截止发文时的版本是&#xff1a;4.0.5&#xff0c;看到有了新版本于是便想着将本地项目中的jodit版本也进行升级&#xff0c;琢磨着再丰富和添加一些功能&#xff…

掌握Python 99 个实用实例,其中精选算法高频题目以及答案,助力求职Python工程师面试不慌拿offer

掌握Python 99 个实用实例&#xff0c;其中精选算法高频题目以及答案&#xff0c;助力求职Python工程师面试不慌拿offer。 Python由荷兰国家数学与计算机科学研究中心的吉多范罗苏姆于1990年代初设计&#xff0c;作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构&…

给机器人开发个功能让它帮我照看宝宝

本文首发于古月居 这篇博客主要讲述了如何通过OriginBot来看护宝宝&#xff0c;当宝宝的脸不在摄像头的范围之内时&#xff0c;发送消息到钉钉群组&#xff0c;通知家人及时查看。 前言 我在上个月有了宝宝&#xff0c;为了方便照看宝宝&#xff0c;就买了一个带有宝宝看护功能…

OpenLayers实战,OpenLayers点聚合有相同经纬度坐标时无法展开问题解决办法,当缩放级别达到一定等级后强行展开聚合为单个点

专栏目录: OpenLayers实战进阶专栏目录 前言 本章用于解决OpenLayers使用Cluster点聚合情况下,要素(Feature)出现有相同经纬度坐标时无法展开成单独图标的问题解决办法以及当缩放级别达到一定等级后强行展开聚合为单个点的功能。 本章展开后由于经纬度坐标还是同一个点,…

SAP 销售订单审批状态(查询/修改)

销售订单审批状态启用后&#xff0c;前端显示界面如下图 销售订单审批状态读取&#xff1a;STATUS_READ 销售订单审批状态修改&#xff1a;I_CHANGE_STATUS 销售订单审批状态读取 代码样例如下&#xff1a; DATA: lv_objnr TYPE vbak-objnr,lv_objnr_t TYPE jsto-objnr,l…

LeetCode:707. 设计链表

力扣题目链接 单链表 class ListNode {int val;ListNode next;public ListNode(int val) {this.val val;} } class MyLinkedList {int size;ListNode head;public MyLinkedList() {size 0;head new ListNode(0);}public int get (int index) {if ( index < 0 || index …