Используя команды 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 загрузить
0
A
ответ
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
не получите возможность попробовать это без пароля учетной записи. Это то, что я хочу (необходимо для CoreOS). –