2015-11-03 3 views
0

Используя команды Azure Powershell, я хочу предоставить новую виртуальную машину Linux без SSH-пароля и только SSH-ключи (необходимые при подготовке CoreOS). При использовании Azure CLI вместе с файлом открытого ключа, указанным в командной строке, все работает хорошо. По-видимому, это недоступно для командного состава Powershell Add-AzureProvisioningConfig. Требуется два возможных аргумента SSH Key, но они оба являются списками пар ключей. Как documented here, аргумент -SSHKeyPairs указывает список пар ключей SSH, уже развернутых в подписке. Я понятия не имею, как развернуть пары ключей в подписке, и я не могу найти ее документированной в любом месте. Аналогично, -SSHPublicKeys указывает список открытых ключей SSH, уже развернутых в подписке.Azure Add-AzureProvisioningConfig ssh key или key pair загрузить

ответ

1

Утилиту Openssl.exe можно использовать для создания сертификата.

Вот пример того, что этой команды:

openssl.exe req -x509 -nodes -days 365 -newkey rsa:2048 -keyout myPrivateKey.key -out myCert.pem 

Полный пример того, как положение виртуальной машины Linux с помощью SSH:

$location = "West US" 
$serviceName = "contosolinux1" 
$vmName = "linuxvm1" 
$size = "Small" 
$adminUser = "[admin user name]" 
$password = "[admin password]" 
$imageFamily = "Ubuntu Server 14.10 DAILY" 
$imageName = Get-AzureVMImage | 
where { $_.ImageFamily -eq $imageFamily } | 
sort PublishedDate -Descending | 
select -ExpandProperty ImageName -First 1 
$certPath = "$PSScriptRoot\MyCert.pem" 
New-AzureService -ServiceName $serviceName ` 
-Location $location 
$cert = Get-PfxCertificate -FilePath $certPath 
Add-AzureCertificate -CertToDeploy $certPath ` 
-ServiceName $serviceName 
$sshKey = New-AzureSSHKey -PublicKey -Fingerprint $cert.Thumbprint ` 
-Path "/home/$linuxUser/.ssh/authorized_keys" 
New-AzureVMConfig -Name $vmName ` 
-InstanceSize $size ` 
-ImageName $imageName | 
Add-AzureProvisioningConfig -Linux ` 
-AdminUsername $adminUser ` 
-Password $password ` 
-SSHPublicKeys $sshKey | 
New-AzureVM -ServiceName $serviceName 

Источник: https://www.microsoftpressstore.com/store/exam-ref-70-533-implementing-microsoft-azure-infrastructure-9780735697065

+0

не получите возможность попробовать это без пароля учетной записи. Это то, что я хочу (необходимо для CoreOS). –