当前位置: 首页 > 知识库问答 >
问题:

Azure Linux VM上的OpenSSH SSH-2私钥(旧PEM格式)

洪季萌
2023-03-14

我一直在使用Puttygen为Azure Linux虚拟机生成SSH密钥对。最近我发现openssh在Windows 10上可用,我可以在Windows 10 CMD上使用“ssh-keygen”命令并生成私钥和公钥。

我试过了,但没有成功。

根据文章点击这里,要求我们使用下面的命令,它成功完成。它在一个位置导出私钥和公钥。但当我在putty中加载私钥并连接到服务器时,它会抛出错误

Unable to use key file "C:\publickey\id_rsa.ppk" (OpenSSH SSH-2 private key (old PEM format))
login as:

下面是我用来在windows 10上生成密钥对的命令

C:\Users\xxx>ssh-keygen -t rsa -b 2048 -C "azureuser@vm"
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\xxx/.ssh/id_rsa): C:\publickey\id_rsa.ppk
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\publickey\id_rsa.ppk.
Your public key has been saved in C:\publickey\id_rsa.ppk.pub.
The key fingerprint is:

有人在windows 10上尝试过这种方法来生成密钥吗?

共有2个答案

牟辰龙
2023-03-14

对于Linux(例如Ubuntu),可以按如下方式安装命令行puttygen:

# sudo apt install putty-tools

... 并从本地ssh密钥id\u rsa生成putty版本id\u rsa。ppk如下:

# puttygen id_rsa -O private -o id_rsa.ppk
鲜于阳
2023-03-14

您已经使用ssh-keygen创建了一个名为id\u rsa的私钥文件。ppk。然而,这是一个OpenSSH格式的私钥,需要转换为Putty自己的格式才能在Putty中使用。

您的选择包括:

  1. 将此密钥用于命令行SSH(格式正确)。你也可以
    1. 在命令行上指定文件,例如ssh-i id\u rsa。ppk公司azureuser@vm
    2. 制作一个文件夹C:\Users\Aquib\。ssh并将其作为C:\Users\Aquib\移动到那里。ssh\id\u rsa(无扩展名):默认情况下,ssh将加载此文件,用于您尝试连接的所有服务器
    3. 如果您不想将其用于所有服务器,或者例如,如果您已经拥有与git一起使用的默认id\u rsa,您可以设置一个C:\Users\Aquib。ssh\config文件,告诉ssh在哪里找到密钥,并告诉它应该将密钥用于哪些服务器
    1. 在Puttygen中,在转换菜单中选择导入并加载id_rsa.ppk
    2. '保存私钥'到不同的文件
    3. 将这个新文件与Putty一起使用,可以在连接属性菜单上,也可以在新文件中运行Pageant(Putty密钥代理)和“添加密钥”。(例如,您可以在启动菜单中创建一个pageant快捷方式,并将密钥文件名作为命令行参数,以便自动为您加载。)

 类似资料:
  • 我在使用Java Bouncycastle的客户机和使用Python RSA库的密钥服务器之间交换私钥时遇到了困难。PEM格式用于通过REST传输密钥。keyserver无法解密我提供的密钥(加密密码更改时需要),它需要PKCS#1或PKCS#8密钥和PEM,如下所示: 但是BouncyCastle的输出(使用JCEpeEncryptorBuilder和JcaMiscPEMGenerator)的起

  • 我有十六进制格式的私钥: 308204BC020100300D06092A864886F70D0101010500048204A6308204A20201000282010100B3B6F5AB13FCDECC12438581E90302E12BCF14570B49DCA2BF40957B79B10630DE20CB18B21D7393AC54FBA9D236F09235C4AF4D8E9227B

  • 我有一个私钥文件(PEM BASE64编码)。我想用它来解密一些其他数据。使用Java我试着读取文件并解码其中的BASE64编码数据。这是我尝试的代码片段.... 我得到以下错误 类似的问题已经贴在这里,但那些对我没有用。几乎所有的人都建议使用Bouncycastle provider,而Bouncycastle provider并不愿意使用FIPS兼容的provider,并且不确定BC prov

  • 问题内容: 我有一个私钥文件(PEM BASE64编码)。我想在其他地方使用它解密其他数据。使用Java,我尝试读取文件并解码其中的BASE64编码数据。这是我尝试的代码段。 import java.io.; import java.nio.ByteBuffer; import java.security. ; import java.security.spec.PKCS8EncodedKeySp

  • 如何从中转换rsa私钥。把格式改成。使用openssl api编程的PEM格式。我可以手动使用openssl exe进行转换。请以编程方式建议如何做到这一点。

  • 我希望加载/使用Java应用程序中提供给我的加密私钥。请找到密钥(加密的私有密钥、解密的私有密钥和公钥如下所示)。 加密的私钥密码:“AWCTJPET9FL7UBTP97HX99GDOFEWKUF5TUXSUJEST2SEKYVKYINRFRJ6EISUTERF” 密钥是在NodeJS中使用加密生成的,使用: 我正在使用:运行时版本:11.0.7+10-B765.64amd64,OpenJDK 6