美文网首页Linux/网络
PuTTY的ppk密钥与OpenSSH密钥之间的相互转换

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

作者: book_02 | 来源:发表于2019-02-22 22:32 被阅读1次

    几个概念说明: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文件夹下

    相关文章

      网友评论

        本文标题:PuTTY的ppk密钥与OpenSSH密钥之间的相互转换

        本文链接:https://www.haomeiwen.com/subject/bgiyyqtx.html