Linux
Azure 中有沒有一種方法可以自動創建具有多個密鑰的 authorized_keys 文件?
我們的團隊正在使用 Azure PowerShell 創建和初始化 Linux VM。我對 Azure 一點也不熟悉,但試圖幫助其他人進行設置。有沒有辦法提供自定義的 authorized_keys 文件並讓 Azure PowerShell 將其放入 ~/.ssh?我們希望這在創建時自動發生。
正如@modo 在評論中提到的,您可以使用“自定義腳本擴展”來實現這一目標。
如果您使用的是 ARM 虛擬機:
$RGName = '<resource-group-name>' $VmName = '<vm-name>' $Location = '<location>' $ExtensionName = 'CustomScriptForLinux' $Publisher = 'Microsoft.OSTCExtensions' $Version = '<version>' $PublicConf = '{ "fileUris": ["<url>"], "commandToExecute": "<command>" }' $PrivateConf = '{ "storageAccountName": "<storage-account-name>", "storageAccountKey": "<storage-account-key>" }' Set-AzureRmVMExtension -ResourceGroupName $RGName -VMName $VmName -Location $Location ` -Name $ExtensionName -Publisher $Publisher ` -ExtensionType $ExtensionName -TypeHandlerVersion $Version ` -Settingstring $PublicConf -ProtectedSettingString $PrivateConf
如果您使用的是 ASM 虛擬機:
$VmName = '<vm-name>' $vm = Get-AzureVM -ServiceName $VmName -Name $VmName $ExtensionName = 'CustomScriptForLinux' $Publisher = 'Microsoft.OSTCExtensions' $Version = '<version>' $PublicConf = '{ "fileUris": ["<url>"], "commandToExecute": "<command>" }' $PrivateConf = '{ "storageAccountName": "<storage-account-name>", "storageAccountKey": "<storage-account-key>" }' Set-AzureVMExtension -ExtensionName $ExtensionName -VM $vm ` -Publisher $Publisher -Version $Version ` -PrivateConfiguration $PrivateConf -PublicConfiguration $PublicConf | Update-AzureVM