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

标签 linux windows azure ssh azure-virtual-machine

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

我已经尝试过,但没有成功。

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

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

下面是我用来在 Windows 10 上生成 key 对的命令

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 上尝试过这种方法来生成 key 吗?

最佳答案

您已使用 ssh-keygen 创建了一个名为 id_rsa.ppk 的私钥文件。不过,这是 OpenSSH 格式的私钥,需要转换为 Putty 自己的格式才能在 Putty 中使用。

您的选择是:

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

关于linux - Azure Linux VM 上的 OpenSSH SSH-2 私钥(旧 PEM 格式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60884217/

相关文章:

c# - 如何以编程方式检查键盘是否已连接?

azure - 部署的隔离功能应用程序返回 404

c - 为 win32 && linux 定义清除函数

linux - 通过环境变量选择默认的 alsa PCM(不是卡)

linux - 在 dockerfile 中设置 ulimit 参数

Windows 资源管理器外壳扩展:通过 ITransferSource::RemoveItem 递归删除?

linux - 我们可以检测 Xen 中 guest 操作系统的内存访问吗?

python - 使用 PythonService.exe 在使用 virtualenv 时托管 python 服务

Python MQTT 连接到 Azure Iot Hub

Azure 虚拟机计费