首页 > 解决方案 > 使用 azure cli --generate-ssh-keys 存储在 Windows 中的自动生成的 SSH 密钥在哪里

问题描述

我正在尝试使用本地机器上的 azure cli 创建 linux VM。我可以使用以下命令创建虚拟机,但是现在当我想通过 ssh 进入虚拟机时,我需要在本地机器上拥有公钥吗?

如何获取所需的公钥以使用连接到 vm ssh azureuser@publicIpAddress?生成的 ssh 密钥在哪里--generate-ssh-keys以及如何获取?

az vm create \
  --resource-group myResourceGroup \
  --name myVM \
  --image UbuntuLTS \
  --admin-username azureuser \
  --generate-ssh-keys

我使用具有提升权限的 PowerShell 7.0 来运行上述命令

解决了

更新1:

标签: azurepowershellazure-devopsazure-cli

解决方案


来自MSDN--generate-ssh-keys:_

如果丢失,生成 SSH 公钥和私钥文件。密钥将存储在 ~/.ssh 目录中。

如果目录不存在,默认情况下会在目录中创建一个私有id_rsa和公共id_rsa.pubSSH 密钥对。~/.ssh如果您在该位置已经有现有的 SSH 密钥,它只会使用这些密钥而不覆盖它们。

在 Windows 上,这是C:\Users\username\.ssh目录。

此外,您还可以使用以下命令传入特定的 SSH 公钥路径--ssh-key-values

az vm create \
  --resource-group myResourceGroup \
  --name myVM \
  --image UbuntuLTS \
  --admin-username azureuser \
  --ssh-key-values /path/to/public/key

如果您在另一个位置使用ssh-keygen.

正如@Ash在评论中指出的那样,您可以查看在部署期间自动生成密钥以获取更多信息。


推荐阅读