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

In dit artikel worden de manieren beschreven waarop u SSH-sleutels ( Secure Shell ) kunt genereren en gebruiken op een Windows-computer om een virtuele Linux-machine (VM) te maken en te verbinden 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. Als u SSH-sleutels wilt gebruiken vanuit een Linux-of macOS-client, raadpleegt u de snelle of gedetailleerde richt lijnen.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 versleuteld verbindings protocol waarmee beveiligde aanmeldingen via niet-beveiligde verbindingen worden toegestaan.SSH is an encrypted connection protocol that allows secure sign-ins over unsecured connections. SSH is het standaard verbindings protocol voor Linux-Vm's die worden gehost in Azure.SSH is the default connection protocol for Linux VMs hosted in Azure. Hoewel SSH zelf een versleutelde verbinding biedt, zorgt het gebruik van wacht woorden met SSH-verbindingen ervoor dat de virtuele machine nog steeds kwetsbaar is voor zwakke aanvallen of het raden van wacht woorden.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 veiligere en voorkeurs methode voor het maken van verbinding met een virtuele machine met SSH is door gebruik te maken van een openbaar-persoonlijk sleutel paar, ook wel SSH-sleutelsgenoemd.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 open bare sleutel wordt op uw virtuele Linux-machine geplaatst of op een andere service die u wilt gebruiken met crypto grafie met een open bare sleutel.The public key is placed on your Linux VM, or any other service that you wish to use with public-key cryptography.

  • De persoonlijke sleutel blijft op het 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.

Wanneer u een SSH-client gebruikt om verbinding te maken met uw virtuele Linux-machine (die beschikt over de open bare sleutel), test de externe VM de client om te controleren of deze de persoonlijke sleutel bezit.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, wordt de toegang tot de virtuele machine verleend.If the client has the private key, it's granted access to the VM.

Afhankelijk van het beveiligings beleid van uw organisatie, kunt u één enkel openbaar persoonlijk sleutel paar gebruiken om toegang te krijgen tot meerdere Azure-Vm's en-services.Depending on your organization's security policies, you can reuse a single public-private key pair to access multiple Azure VMs and services. U hebt geen afzonderlijk paar sleutels nodig voor elke VM of service die u wilt gebruiken.You do not need a separate pair of keys for each VM or service you wish to access.

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

Ondersteunde indelingen van SSH-sleutelsSupported SSH key formats

Azure biedt momenteel ondersteuning voor open bare en persoonlijke RSA-sleutel paren van het SSH-protocol 2 (SSH-2) met een minimum 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 sleutel 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 maakt verbinding met virtuele Linux-machines in Azure en beheert deze met behulp van een SSH-client.You connect to and manage Linux VMs in Azure using an SSH client. Computers met Linux of macOS hebben meestal een suite SSH-opdrachten voor het genereren en beheren van SSH-sleutels en het 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.

Op Windows-computers zijn niet altijd vergelijk bare SSH-opdrachten geïnstalleerd.Windows computers do not always have comparable SSH commands installed. Recente versies van Windows 10 bieden openssh-client opdrachten voor het maken en beheren van SSH-sleutels en het maken van ssh-verbindingen vanaf een opdracht prompt.Recent versions of Windows 10 provide OpenSSH client commands to create and manage SSH keys and make SSH connections from a command prompt. Recente Windows 10-versies omvatten ook het Windows-subsysteem voor Linux voor het uitvoeren en openen van hulpprogram ma's zoals een SSH-client in 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 veelgebruikte Windows SSH-clients die u lokaal kunt installeren, zijn opgenomen in de volgende pakketten:Other common Windows SSH clients you can install locally are included in the following packages:

U kunt de SSH-hulpprogram ma's die beschikbaar zijn in bash ook gebruiken 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

In de volgende secties worden twee opties beschreven voor het maken van een SSH-sleutel paar 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-hulp programma (PuTTYgen).You can use a shell command (ssh-keygen) or a GUI tool (PuTTYgen). Houd er ook rekening mee dat wanneer u Power shell gebruikt om een sleutel te maken, de open bare sleutel uploadt als SSH. com-indeling (SECSH).Also note, when using Powershell to create a key, upload the public key as ssh.com(SECSH) format. Wanneer u CLI gebruikt, moet u de sleutel converteren naar de OpenSSH-indeling voordat u deze uploadt.When using CLI, convert the key into OpenSSH format prior to uploading.

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

Als u een opdracht shell uitvoert in Windows die SSH-client hulpprogramma's ondersteunt (of als u Azure Cloud Shell gebruikt), maakt u een SSH-sleutel paar 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 beantwoord de prompts.Type the following command, and answer the prompts. Als er een SSH-sleutel paar op 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 de volgende stappen voor het maken van SSH-sleutels met behulp van ssh-keygenvoor meer informatie over achtergronden en gegevens.For more background and information, see the quick or detailed steps to create SSH keys using ssh-keygen.

SSH-sleutels maken met PuTTYgenCreate SSH keys with PuTTYgen

Als u liever een GUI-hulp programma gebruikt om SSH-sleutels te maken, kunt u de PuTTYgen-sleutel generator gebruiken, opgenomen in het pakket voor het downloaden van putty.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-sleutel paar maken met PuTTYgen:To create an SSH RSA key pair with PuTTYgen:

  1. PuTTYgen starten.Start PuTTYgen.

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

  3. Beweeg de muis aanwijzer in het lege gebied om wille keurigheid voor de sleutel op te geven.Move the mouse around in the blank area to provide randomness for the key.

  4. Nadat de open bare sleutel is gegenereerd, voert u optioneel een wachtwoordzin in en bevestigt u deze.After the public key is generated, optionally enter and confirm a passphrase. U wordt gevraagd om de wachtwoordzin wanneer u zich bij de virtuele machine verifieert met uw persoonlijke SSH-sleutel.You will be prompted for the passphrase when you authenticate to the VM with your private SSH key. Zonder een wachtwoordzin kunnen gebruikers zich aanmelden bij elke virtuele machine of service die gebruikmaakt van die sleutel als iemand uw persoonlijke sleutel verkrijgt.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 een wachtwoordzin te 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 open bare sleutel wordt bovenaan het venster weer gegeven.The public key is displayed at the top of the window. U kunt deze volledige open bare sleutel kopiëren en deze vervolgens in de Azure Portal of een Azure Resource Manager sjabloon plakken wanneer u een virtuele Linux-machine maakt.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 open bare sleutel opslaan selecteren om een kopie op uw computer op te slaan:You can also select Save public key to save a copy to your computer:

    Bestand met open bare sleutel voor PuTTy opslaan

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

    Bestand met persoonlijke sleutel voor PuTTy opslaan

    Als u de persoonlijke sleutel in de OpenSSH-indeling wilt opslaan, selecteert u conversies > OpenSSH sleutel exporterenin de indeling van de persoonlijke sleutel die wordt gebruikt door veel SSH-clients.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.

Een open bare SSH-sleutel opgeven bij het implementeren van een virtuele machineProvide an SSH public key when deploying a VM

Als u een virtuele Linux-machine wilt maken die gebruikmaakt van SSH-sleutels voor verificatie, geeft u uw open bare SSH-sleutel op wanneer u de virtuele machine maakt met behulp van de Azure Portal of andere methodenTo 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.

In het volgende voor beeld ziet u hoe u deze open bare sleutel kopieert en plakt in de Azure Portal wanneer u een virtuele Linux-machine maakt.The following example shows how you would copy and paste this public key into the Azure portal when you create a Linux VM. De open bare sleutel wordt doorgaans opgeslagen in de map ~/.ssh/authorized_key op de nieuwe virtuele machine.The public key is typically then stored in the ~/.ssh/authorized_key directory on your new VM.

Open bare sleutel gebruiken bij het maken van een virtuele machine in de Azure Portal

Verbinding maken met uw VMConnect to your VM

Een van de manieren om een SSH-verbinding met uw Linux-VM vanuit Windows te maken, is met behulp 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 als u een SSH-client op uw Windows-systeem hebt geïnstalleerd of als u de SSH-hulpprogram ma's in bash in Azure Cloud Shell gebruikt.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-hulp programma hebt, 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 open bare sleutel die is geïmplementeerd op uw Azure-VM en de persoonlijke sleutel op uw lokale systeem, SSH naar uw virtuele machine met 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 door de gebruikers naam van de beheerder en de Fully Qualified Domain Name (of het 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 sleutel paar een wachtwoordzin hebt geconfigureerd, voert u de wachtwoordzin in wanneer u hierom wordt gevraagd tijdens het aanmeldings proces.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 gebruikmaakt van het just-in-time-toegangs beleid, moet u toegang aanvragen voordat u verbinding kunt maken met de virtuele machine.If the VM is using the just-in-time access policy, you need to request access before you can connect to the VM. Zie toegang tot virtuele machines beheren met de just-in-time-beleids regelsvoor meer informatie over het 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 het putty-download pakket hebt geïnstalleerd en eerder een putty persoonlijke sleutel bestand (. ppk) hebt gegenereerd, kunt u verbinding maken met een virtuele Linux-machine 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 de hostnaam of het IP-adres van uw virtuele machine in via de Azure Portal:Fill in the host name or IP address of your VM from the Azure portal:

    Nieuwe PuTTy-verbinding openen

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

    Selecteer uw persoonlijke sleutel voor de validatie van de PuTTy

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

Volgende stappenNext steps