【问题标题】:Where are auto generated SSH keys stored in Windows using azure cli --generate-ssh-keys使用 azure cli --generate-ssh-keys 存储在 Windows 中的自动生成的 SSH 密钥在哪里
【发布时间】:2020-09-25 10:50:53
【问题描述】:

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

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

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

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

已解决

更新1:

  • 使用--generate-ssh-keys开关时会在c:\users\.ssh\中生成SSH密钥
  • 如果已经存在名称为id_rsa & id_rsa.pub 的文件,则可能会发生冲突,您可以使用另一个开关--ssh-key-values /path/to/public/key 指定不同的文件名
  • 之后,如果您收到Permissions for 'private-key' are too open 错误,请按照here 中提到的步骤操作

【问题讨论】:

标签: azure powershell azure-devops azure-cli


【解决方案1】:

你可以在下面找到它

C:\Users\你的用户名>>\.ssh

当您第一次创建 VM 时,您也会收到以下消息

SSH 密钥文件 'C:\Users\your-user-name>>\.ssh\id_rsa' 和 'C:\Users\your-user-name>>\.ssh\id_rsa.pub' 已在 ~/.ssh 下生成 允许 SSH 访问虚拟机。如果使用没有永久性的机器 存储,将您的密钥备份到安全位置。

对于后续的 VM 创建,使用相同的密钥对并且您不会再次看到该消息。

我使用 Windows 操作系统进行了验证,通过 Azure CLI 使用 RedHat:RHEL:7-RAW:7.4.2018010506 映像创建了一个 linux VM

【讨论】:

    【解决方案2】:

    来自MSDN--generate-ssh-keys

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

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

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

    此外,您还可以使用--ssh-key-values 传递特定的 SSH 公钥路径:

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

    如果您使用ssh-keygen 在另一个位置创建了 SSH 密钥,这将特别有用。

    正如@Ash 在 cmets 中指出的那样,您可以查看Generate keys automatically during deployment 了解更多信息。

    【讨论】:

      猜你喜欢
      • 2021-11-11
      • 2013-12-12
      • 1970-01-01
      • 2017-08-09
      • 2012-11-13
      • 2015-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多