Azure ARM模板 - ssh公钥和私钥

时间:2016-10-02 08:36:42

标签: azure ssh

我正在尝试创建一个将启动多VM群集的azure ARM模板。

我可以为所有机器提供SSH公钥,但我希望一台机器(主机)可以通过SSH私钥访问其他机器。

如何在模板时向主机提供私钥?有没有具体的方法呢?

由于 罗布

1 个答案:

答案 0 :(得分:3)

是的,您应该使用Azure Key Vault。您可以在部署时为VM提供安全参数,如下所示:

"osProfile": {
  "computerName": "[parameters('vmName')]",
  "adminUsername": "[parameters('adminUsername')]",
  "adminPassword": "[parameters('adminPassword')]",
  "secrets": [
    {
      "sourceVault": {
        "id": "[resourceId(parameters('vaultResourceGroup'), 'Microsoft.KeyVault/vaults', parameters('vaultName'))]"
      },
      "vaultCertificates": [
        {
          "certificateUrl": "[parameters('certificateUrl')]",
          "certificateStore": "My"
        }
      ]
    }
  ],

但是对于Linux,你应该使用这样的东西:

"osProfile": {
                "linuxOperatingSystemProfile": {
                  "username": "[parameters('sshUserName')]",
                  "sshProfile": {
                    "publicKeys": [
                      {
                        "certificateData": "[parameters('sshPublicKey')]"
                      }
                    ]
                  }
                }
              }

但是,显然在您的密钥保险库中使用ssh密钥替换certificateData。