【问题标题】:Azure ARM template - ssh public and private keyAzure ARM 模板 - ssh 公钥和私钥
【发布时间】:2017-02-10 10:23:44
【问题描述】:

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

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

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

谢谢 抢

【问题讨论】:

    标签: azure ssh


    【解决方案1】:

    是的,您应该为此使用 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。

    【讨论】:

    • 谢谢,但是master如何使用相同的公钥连接到其他机器呢?有没有办法提供一台指定公钥和私钥的机器?
    • 您可以使用 azure dsc 扩展来运行一个脚本,该脚本将从密钥保管库中提取 ssh 密钥,例如,azure python skd(或 azure cli,可能)用于 azure。这是可能的,但远非微不足道;)
    • 好主意,你有参考吗?我不知道 azure key vault
    猜你喜欢
    • 1970-01-01
    • 2023-03-24
    • 2013-03-24
    • 2016-03-08
    • 2016-09-15
    • 2013-07-09
    • 2015-07-11
    • 1970-01-01
    • 2011-06-17
    相关资源
    最近更新 更多