SSH-sleutels gebruiken met Windows op AzureHow to use SSH keys with Windows on Azure

In dit artikel wordt beschreven hoe om te genereren en gebruiken secure shell (SSH)-sleutels op een Windows-computer om te maken en verbinding maken met een Linux virtuele machine (VM) in Azure.This article describes ways to generate and use secure shell (SSH) keys on a Windows computer to create and connect to a Linux virtual machine (VM) in Azure. Zie voor het gebruik van SSH-sleutels van een client voor Linux of macOS, de snelle of gedetailleerde richtlijnen.To use SSH keys from a Linux or macOS client, see the quick or detailed guidance.

Overzicht van SSH en sleutelsOverview of SSH and keys

SSH is een versleutelde verbinding-protocol waarmee veilige aanmeldingen via niet-beveiligde verbindingen.SSH is an encrypted connection protocol that allows secure sign-ins over unsecured connections. SSH is het standaardprotocol voor de verbinding voor virtuele Linux-machines die worden gehost in Azure.SSH is the default connection protocol for Linux VMs hosted in Azure. Hoewel SSH zelf voorziet in een versleutelde verbinding, maakt met behulp van wachtwoorden met SSH-verbindingen nog steeds de virtuele machine kwetsbaar voor brute-force-aanvallen of te raden van wachtwoorden.Although SSH itself provides an encrypted connection, using passwords with SSH connections still leaves the VM vulnerable to brute-force attacks or guessing of passwords. Een veiliger en voorkeurs-methode van de verbinding te maken met een virtuele machine via SSH is met behulp van een openbaar / persoonlijk sleutelpaar, ook wel bekend als SSH-sleutels.A more secure and preferred method of connecting to a VM using SSH is by using a public-private key pair, also known as SSH keys.

  • De openbare sleutel op uw Linux-VM of een andere service die u wilt gebruiken met openbare-sleutelcryptografie is geplaatst.The public key is placed on your Linux VM, or any other service that you wish to use with public-key cryptography.

  • De privésleutel blijft op uw lokale systeem.The private key remains on your local system. Houd deze privésleutel geheim.Protect this private key. Deel deze niet.Do not share it.

Als u een SSH-client gebruiken om verbinding maken met uw Linux-VM (met de openbare sleutel), de externe virtuele machine, test de client om te controleren of deze beschikt over de persoonlijke sleutel.When you use an SSH client to connect to your Linux VM (which has the public key), the remote VM tests the client to make sure it possesses the private key. Als de client de persoonlijke sleutel heeft, krijgt het toegang tot de virtuele machine.If the client has the private key, it's granted access to the VM.

Afhankelijk van het beveiligingsbeleid van uw organisatie, kunt u een enkel openbaar / persoonlijk sleutelpaar voor toegang tot meerdere Azure-VM's en services opnieuw gebruiken.Depending on your organization's security policies, you can reuse a single public-private key pair to access multiple Azure VMs and services. U hoeft niet een afzonderlijke combinatie van sleutel voor elke virtuele machine of service die u wilt openen.You do not need a separate pair of keys for each VM or service you wish to access.

Uw openbare sleutel kan worden gedeeld met iedereen, maar alleen u (of uw lokale beveiligingsinfrastructuur) moet beschikken over uw persoonlijke sleutel.Your public key can be shared with anyone, but only you (or your local security infrastructure) should possess your private key.

Ondersteunde indelingen voor SSH-sleutelSupported SSH key formats

Azure momenteel ondersteunt SSH-protocol 2 (SSH-2) RSA openbaar-persoonlijk paren van sleutels met een minimale lengte van 2048 bits.Azure currently supports SSH protocol 2 (SSH-2) RSA public-private key pairs with a minimum length of 2048 bits. Andere belangrijke indelingen, zoals ED25519 en ECDSA worden niet ondersteund.Other key formats such as ED25519 and ECDSA are not supported.

Windows-pakketten en SSH-clientsWindows packages and SSH clients

U verbinding maken met en beheren van virtuele Linux-machines in Azure met een SSH-client.You connect to and manage Linux VMs in Azure using an SSH client. Computers met Linux of macOS meestal hebben een reeks opdrachten SSH te genereren en SSH-sleutels beheren en te maken van SSH-verbindingen.Computers running Linux or macOS usually have a suite of SSH commands to generate and manage SSH keys and to make SSH connections.

Windows-computers altijd geen vergelijkbare SSH opdrachten die zijn geïnstalleerd.Windows computers do not always have comparable SSH commands installed. Recente versies van Windows 10 bieden OpenSSH-clientopdrachten maken en beheren van SSH-sleutels en SSH-verbindingen vanaf een opdrachtprompt.Recent versions of Windows 10 provide OpenSSH client commands to create and manage SSH keys and make SSH connections from a command prompt. Recente versies van Windows 10 bevat ook de Windows-subsysteem voor Linux uitvoeren en toegang tot hulpprogramma's zoals een SSH-client systeemeigen binnen een Bash-shell.Recent Windows 10 versions also include the Windows Subsystem for Linux to run and access utilities such as an SSH client natively within a Bash shell.

Andere algemene Windows SSH-clients die kunt u lokaal installeren zijn opgenomen in de volgende pakketten:Other common Windows SSH clients you can install locally are included in the following packages:

U kunt ook de SSH-hulpprogramma's beschikbaar in Bash in de Azure Cloud Shell.You can also use the SSH utilities available in Bash in the Azure Cloud Shell.

Een SSH-sleutelpaar makenCreate an SSH key pair

De volgende secties worden twee opties voor het maken van een SSH-sleutelpaar in Windows.The following sections describe two options to create an SSH key pair on Windows. U kunt een shell-opdracht gebruiken (ssh-keygen) of een GUI-hulpprogramma (PuTTYgen).You can use a shell command (ssh-keygen) or a GUI tool (PuTTYgen).

SSH-sleutels maken met ssh-keygenCreate SSH keys with ssh-keygen

Als u een opdrachtshell uitvoeren op Windows die ondersteuning biedt voor hulpprogramma's voor SSH-client (of u Azure Cloud Shell gebruiken), maakt u een SSH-sleutelpaar met behulp van de ssh-keygen opdracht.If you run a command shell on Windows that supports SSH client tools (or you use Azure Cloud Shell), create an SSH key pair using the ssh-keygen command. Typ de volgende opdracht en de hierom wordt gevraagd.Type the following command, and answer the prompts. Als een SSH-sleutelpaar in de gekozen locatie bestaat, worden deze bestanden overschreven.If an SSH key pair exists in the chosen location, those files are overwritten.

ssh-keygen -t rsa -b 2048

Zie voor meer achtergrondinformatie en informatie, de snelle of gedetailleerde stappen voor het maken van SSH-sleutels met behulp van ssh-keygen.For more background and information, see the quick or detailed steps to create SSH keys using ssh-keygen.

SSH-sleutels met PuTTYgen makenCreate SSH keys with PuTTYgen

Als u liever een GUI-hulpprogramma gebruiken om te maken van SSH-sleutels, kunt u de serversleutelgenerator PuTTYgen, opgenomen in de PuTTY downloadpakket.If you prefer to use a GUI-based tool to create SSH keys, you can use the PuTTYgen key generator, included with the PuTTY download package.

Een SSH-RSA-sleutelpaar maken met PuTTYgen:To create an SSH RSA key pair with PuTTYgen:

  1. Start PuTTYgen.Start PuTTYgen.

  2. Klik op genereren.Click Generate. Standaard genereert PuTTYgen een SSH-2 RSA 2048-bits sleutel.By default PuTTYgen generates a 2048-bit SSH-2 RSA key.

  3. Beweeg de muis in de lege ruimte voor aanvraaggrootte voor de sleutel.Move the mouse around in the blank area to provide randomness for the key.

  4. (Optioneel) Voer nadat de openbare sleutel is gegenereerd, en een wachtwoordzin bevestigen.After the public key is generated, optionally enter and confirm a passphrase. U wordt gevraagd naar de wachtwoordzin wanneer u met de virtuele machine met uw persoonlijke SSH-sleutel verifieert.You will be prompted for the passphrase when you authenticate to the VM with your private SSH key. Zonder een wachtwoordzin als iemand anders uw privésleutel, verkrijgt deze zich kan aanmelden bij een virtuele machine of service die gebruikmaakt van deze sleutel.Without a passphrase, if someone obtains your private key, they can sign in to any VM or service that uses that key. U wordt aangeraden dat u een wachtwoordzin maken.We recommend you create a passphrase. Als u de wachtwoordzin vergeet, is er echter geen manier om deze te herstellen.However, if you forget the passphrase, there is no way to recover it.

  5. De openbare sleutel wordt aan de bovenkant van het venster weergegeven.The public key is displayed at the top of the window. U kunt kopiëren van deze volledige openbare sleutel en plak deze in Azure portal of een Azure Resource Manager-sjabloon bij het maken van een Linux-VM.You can copy this entire public key and then paste it into the Azure portal or an Azure Resource Manager template when you create a Linux VM. U kunt ook selecteren openbare sleutel opslaan een kopie wilt opslaan op uw computer:You can also select Save public key to save a copy to your computer:

    PuTTY bestand voor de openbare sleutel opslaan

  6. Selecteer desgewenst om op te slaan de persoonlijke sleutel in de PuTTy persoonlijke sleutel indeling (ppk-bestand), persoonlijke sleutel opslaan.Optionally, to save the private key in PuTTy private key format (.ppk file), select Save private key. U moet het ppk-bestand later aan PuTTY gebruiken om een SSH-verbinding maken met de virtuele machine.You will need the .ppk file later to use PuTTY to make an SSH connection to the VM.

    PuTTY bestand met persoonlijke sleutel opslaan

    Als u wilt de persoonlijke sleutel opslaan in de OpenSSH-indeling, selecteert u de persoonlijke sleutel indeling die wordt gebruikt door veel SSH-clients, conversies > exporteren OpenSSH-sleutel.If you want to save the private key in the OpenSSH format, the private key format used by many SSH clients, select Conversions > Export OpenSSH key.

Geef een openbare SSH-sleutel bij het implementeren van een virtuele machineProvide an SSH public key when deploying a VM

Voor het maken van een Linux-VM die gebruikmaakt van SSH-sleutels voor verificatie, Geef uw openbare SSH-sleutel bij het maken van de virtuele machine met behulp van de Azure-portal of andere methoden.To create a Linux VM that uses SSH keys for authentication, provide your SSH public key when creating the VM using the Azure portal or other methods.

Het volgende voorbeeld laat zien hoe u wilt kopiëren en plakken van deze openbare sleutel in Azure portal, bij het maken van een Linux-VM.The following example shows how you would copy and paste this public key into the Azure portal when you create a Linux VM. De openbare sleutel wordt doorgaans vervolgens opgeslagen in de map ~/.ssh/authorized_key op uw nieuwe virtuele machine.The public key is typically then stored in the ~/.ssh/authorized_key directory on your new VM.

Openbare sleutel wordt gebruikt bij het maken van een VM in Azure portal

Verbinding maken met uw VMConnect to your VM

Eén manier om u te maken van een SSH-verbinding met uw Linux-VM van Windows is het gebruik van een SSH-client.One way to make an SSH connection to your Linux VM from Windows is to use an SSH client. Dit is de aanbevolen methode hebt u een SSH-client geïnstalleerd op uw Windows-systeem, of als u de SSH-hulpprogramma's in Bash in Azure Cloud Shell.This is the preferred method if you have an SSH client installed on your Windows system, or if you use the SSH tools in Bash in Azure Cloud Shell. Als u liever een GUI-hulpprogramma, kunt u verbinding maken met PuTTY.If you prefer a GUI-based tool, you can connect with PuTTY.

Een SSH-client gebruikenUse an SSH client

Met de openbare sleutel die is geïmplementeerd op uw Azure-VM en de persoonlijke sleutel op uw lokale systeem, SSH verbinding met uw virtuele machine via het IP-adres of de DNS-naam van uw virtuele machine.With the public key deployed on your Azure VM, and the private key on your local system, SSH to your VM using the IP address or DNS name of your VM. Vervang azureuser en myvm.westus.cloudapp.azure.com in de volgende opdracht uit met de naam van de beheerder-gebruiker en de volledig gekwalificeerde domeinnaam (of IP-adres):Replace azureuser and myvm.westus.cloudapp.azure.com in the following command with the administrator user name and the fully qualified domain name (or IP address):

ssh azureuser@myvm.westus.cloudapp.azure.com

Als u tijdens het maken van uw sleutelpaar een wachtwoordzin hebt geconfigureerd, voert u de wachtwoordzin wanneer hierom wordt gevraagd tijdens het aanmelden.If you configured a passphrase when you created your key pair, enter the passphrase when prompted during the sign-in process.

Als de virtuele machine wordt met behulp van het beleid voor just-in-time-toegang, moet u om toegang te vragen voordat u verbinding met de virtuele machine maken kunt.If the VM is using the just-in-time access policy, you need to request access before you can connect to the VM. Zie voor meer informatie over het beleid voor just-in-time beheer van de virtuele machine toegang met just in time-beleid.For more information about the just-in-time policy, see Manage virtual machine access using the just in time policy.

Verbinding maken met PuTTYConnect with PuTTY

Als u hebt geïnstalleerd het PuTTY downloadpakket en eerder gegenereerde een bestand PuTTY persoonlijke sleutel (.ppk), u kunt verbinding maken met een Linux-VM met PuTTY.If you installed the PuTTY download package and previously generated a PuTTY private key (.ppk) file, you can connect to a Linux VM with PuTTY.

  1. Start PuTTy.Start PuTTy.

  2. Vul in de hostnaam of IP-adres van uw virtuele machine vanuit Azure portal:Fill in the host name or IP address of your VM from the Azure portal:

    Nieuwe PuTTY verbinding openen

  3. Selecteer de verbinding > SSH > Auth categorie.Select the Connection > SSH > Auth category. Blader naar en selecteer uw PuTTY persoonlijke sleutel (ppk-bestand):Browse to and select your PuTTY private key (.ppk file):

    Selecteer uw PuTTY persoonlijke sleutel voor verificatie

  4. Klik op Open verbinding maken met uw virtuele machine.Click Open to connect to your VM.

Volgende stappenNext steps