2016-10-02 125 views
1

我正在嘗試創建一個可以啓動多VM集羣的azure ARM模板。Azure ARM模板 - ssh公鑰和私鑰

我可以爲所有機器提供SSH公鑰,但我希望一臺機器即主機可以通過SSH私鑰訪問其他機器。

如何在模板時間向主機提供私鑰?有沒有特定的方法來做到這一點?

感謝 羅布

回答

3

是的,你應該使用Azure的主要庫爲。您可以在部署時虛擬機提供安全參數,像這樣:

"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金庫。

+0

謝謝,但主人如何使用相同的公鑰連接到其他機器?有沒有一種方法來配置一臺機器,指定公鑰而不是私鑰? –

+0

我敢肯定,你將不得不手動導入該密鑰。 – 4c74356b41

+0

好吧,我想是的。但「關鍵存儲」讓我好奇 –