Certificaten instellen voor Azure CLI op Azure Stack Development KitSetting up certificates for Azure CLI on Azure Stack Development Kit

Volg de stappen in dit artikel voor het instellen van de Azure Command-Line interface (CLI) voor het beheren van Azure Stack Development Kit (ASDK)-resources van Linux-, Mac-en Windows-client platforms.Follow the steps in this article to set up the Azure Command-Line Interface (CLI) to manage Azure Stack Development Kit (ASDK) resources from Linux, Mac, and Windows client platforms.

In dit artikel worden uw certificaten opgehaald en op uw externe beheer computer vertrouwd.This article addresses getting your certificates and trusting them on your remote management machine. Als u de Azure CLI wilt installeren en verbinding wilt maken met uw omgeving, raadpleegt u Azure cli installeren op Azure stack hub.To install the Azure CLI and connect to your environment, see Install Azure CLI on Azure Stack Hub.

Voorbereiden voor Azure CLIPrepare for Azure CLI

Voor de ASDK hebt u het CA-basis certificaat voor Azure Stack hub nodig om Azure CLI te gebruiken op uw ontwikkel computer.For the ASDK, you need the CA root certificate for Azure Stack Hub to use Azure CLI on your development machine. U gebruikt het certificaat voor het beheren van resources via de CLI.You use the certificate to manage resources through the CLI.

  • Het basis certificaat van de Azure stack hub-ca is vereist als u de CLI van een werk station buiten het ASDK gebruikt.The Azure Stack Hub CA root certificate is required if you're using the CLI from a workstation outside the ASDK.

  • Het eind punt voor aliassen van virtuele machines biedt een alias, zoals ' UbuntuLTS ' of ' Win2012Datacenter '.The virtual machine aliases endpoint provides an alias, like "UbuntuLTS" or "Win2012Datacenter." Deze alias verwijst naar een installatie kopie Uitgever, aanbieding, SKU en versie als één para meter bij het implementeren van Vm's.This alias references an image publisher, offer, SKU, and version as a single parameter when deploying VMs.

In de volgende secties wordt beschreven hoe u deze waarden ophaalt.The following sections describe how to get these values.

Het basis certificaat van de Azure Stack hub-CA exporterenExport the Azure Stack Hub CA root certificate

Als u de Azure CLI wilt gebruiken met de ASDK, exporteert u het basis certificaat van de CA.To use the Azure CLI with the ASDK, export the CA root certificate.

Het ASDK-basis certificaat exporteren in de PEM-indeling:To export the ASDK root certificate in PEM format:

  1. Haal de naam op van uw Azure Stack hub-basis certificaat:Get the name of your Azure Stack Hub Root Cert:

    1. Meld u aan bij de gebruikers-of beheerders portal van de Azure Stack hub.Sign in to the Azure Stack Hub User or Administrator portal.
    2. Selecteer in de buurt van de adres balk de optie beveiligd .Select on Secure near the address bar.
    3. Selecteer in het pop-upvenster de optie geldig.On the pop-up window, Select Valid.
    4. Selecteer in het venster certificaat het tabblad certificeringspad .On the Certificate Window, select Certification Path tab.
    5. Noteer de naam van uw Azure Stack hub-basis certificaat.Note down the name of your Azure Stack Hub Root Cert.

    Azure Stack hub-basis certificaat

  2. Maak een virtuele Windows-machine op Azure stack hub.Create a Windows VM on Azure Stack Hub.

  3. Meld u aan bij de VM, open een Power shell-prompt met verhoogde bevoegdheid en voer het volgende script uit:Sign in to the VM, open an elevated PowerShell prompt, and then run the following script:

      $label = "<the name of your Azure Stack Hub root cert from Step 1>"
      Write-Host "Getting certificate from the current user trusted store with subject CN=$label"
      $root = Get-ChildItem Cert:\CurrentUser\Root | Where-Object Subject -eq "CN=$label" | select -First 1
      if (-not $root)
      {
          Write-Error "Certificate with subject CN=$label not found"
          return
      }
    
    Write-Host "Exporting certificate"
    Export-Certificate -Type CERT -FilePath root.cer -Cert $root
    
    Write-Host "Converting certificate to PEM format"
    certutil -encode root.cer root.pem
    
  4. Kopieer het certificaat naar uw lokale computer.Copy the certificate to your local machine.

Het eind punt van de alias van de virtuele machine instellenSet up the virtual machine alias endpoint

U kunt een openbaar toegankelijk eind punt instellen dat als host fungeert voor een VM-alias bestand.You can set up a publicly accessible endpoint that hosts a VM alias file. Het VM-alias bestand is een JSON-bestand dat een algemene naam voor een installatie kopie biedt.The VM alias file is a JSON file that provides a common name for an image. U gebruikt de naam wanneer u een VM implementeert als een Azure CLI-para meter.You use the name when you deploy a VM as an Azure CLI parameter.

  1. Als u een aangepaste installatie kopie publiceert, noteert u de gegevens van de uitgever, de aanbieding, de SKU en de versie die u hebt opgegeven tijdens het publiceren.If you publish a custom image, make note of the publisher, offer, SKU, and version information that you specified during publishing. Als het een installatie kopie van de Marketplace is, kunt u de informatie weer geven met behulp van de- Get-AzureVMImage cmdlet.If it's an image from the marketplace, you can view the information by using the Get-AzureVMImage cmdlet.

  2. Down load het voorbeeld bestand van github.Download the sample file from GitHub.

  3. Maak een opslag account in Azure Stack hub.Create a storage account in Azure Stack Hub. Als dat is gebeurd, maakt u een BLOB-container.When that's done, create a blob container. Stel het toegangs beleid in op openbaar.Set the access policy to "public."

  4. Upload het JSON-bestand naar de nieuwe container.Upload the JSON file to the new container. Wanneer u klaar bent, kunt u de URL van de BLOB weer geven.When that's done, you can view the URL of the blob. Selecteer de naam van de BLOB en selecteert u vervolgens de URL in de BLOB-eigenschappen.Select the blob name and then selecting the URL from the blob properties.

Het certificaat vertrouwenTrust the certificate

Als u Azure CLI wilt gebruiken met de aSDK, moet u het CA-basis certificaat op uw externe computer vertrouwen.To use Azure CLI with the aSDK, you must trust the CA root certificate on your remote machine.

  1. Zoek de locatie van het certificaat op de computer.Find the certificate location on your machine. De locatie kan variëren, afhankelijk van waar u python hebt geïnstalleerd.The location may vary depending on where you've installed Python. Open een opdracht prompt of een Power shell-prompt met verhoogde bevoegdheid en typ de volgende opdracht:Open a cmd prompt or an elevated PowerShell prompt, and type the following command:

      python -c "import certifi; print(certifi.where())"
    

    Noteer de locatie van het certificaat.Make a note of the certificate location. Bijvoorbeeld ~/lib/python3.5/site-packages/certifi/cacert.pem.For example, ~/lib/python3.5/site-packages/certifi/cacert.pem. Uw eigen pad is afhankelijk van uw besturings systeem en de versie van python die u hebt geïnstalleerd.Your particular path depends on your OS and the version of Python that you've installed.

  2. Vertrouw het basis certificaat van de Azure Stack hub-CA door het toe te voegen aan het bestaande python-certificaat.Trust the Azure Stack Hub CA root certificate by appending it to the existing Python certificate.

    $pemFile = "<Fully qualified path to the PEM certificate Ex: C:\Users\user1\Downloads\root.pem>"
    
    $root = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
    $root.Import($pemFile)
    
    Write-Host "Extracting required information from the cert file"
    $md5Hash    = (Get-FileHash -Path $pemFile -Algorithm MD5).Hash.ToLower()
    $sha1Hash   = (Get-FileHash -Path $pemFile -Algorithm SHA1).Hash.ToLower()
    $sha256Hash = (Get-FileHash -Path $pemFile -Algorithm SHA256).Hash.ToLower()
    
    $issuerEntry  = [string]::Format("# Issuer: {0}", $root.Issuer)
    $subjectEntry = [string]::Format("# Subject: {0}", $root.Subject)
    $labelEntry   = [string]::Format("# Label: {0}", $root.Subject.Split('=')[-1])
    $serialEntry  = [string]::Format("# Serial: {0}", $root.GetSerialNumberString().ToLower())
    $md5Entry     = [string]::Format("# MD5 Fingerprint: {0}", $md5Hash)
    $sha1Entry    = [string]::Format("# SHA1 Fingerprint: {0}", $sha1Hash)
    $sha256Entry  = [string]::Format("# SHA256 Fingerprint: {0}", $sha256Hash)
    $certText = (Get-Content -Path $pemFile -Raw).ToString().Replace("`r`n","`n")
    
    $rootCertEntry = "`n" + $issuerEntry + "`n" + $subjectEntry + "`n" + $labelEntry + "`n" + `
    $serialEntry + "`n" + $md5Entry + "`n" + $sha1Entry + "`n" + $sha256Entry + "`n" + $certText
    
    Write-Host "Adding the certificate content to Python Cert store"
    Add-Content "${env:ProgramFiles(x86)}\Microsoft SDKs\Azure\CLI2\Lib\site-packages\certifi\cacert.pem" $rootCertEntry
    
    Write-Host "Python Cert store was updated to allow the Azure Stack Hub CA root certificate"
    

Zie Azure cli installeren op Azure stack hubvoor instructies over het installeren en maken van een verbinding met Azure cli.For instructions on Installing and connecting with Azure CLI see Install Azure CLI on Azure Stack Hub.

Volgende stappenNext steps

Azure CLI installeren op Azure Stack hubInstall Azure CLI on Azure Stack Hub