Verwenden von SSH-Schlüsseln mit Windows in AzureHow to use SSH keys with Windows on Azure

Dieser Artikel richtet sich an Windows-Benutzer, die SSH-Schlüssel ( Secure Shell ) erstellen und verwenden möchten, um eine Verbindung mit virtuellen Linux-Computern (VMs) in Azure herzustellen.This article is for Windows users who want to create and use secure shell (SSH) keys to connect to Linux virtual machines (VMs) in Azure. Sie können auch SSH-Schlüssel im Azure-Portal generieren und speichern, die dann beim Erstellen von VMs im Portal verwendet werden.You can also generate and store SSH keys in the Azure portal to use when creating VMs in the portal.

Informationen zum Verwenden von SSH-Schlüsseln von einem Linux- oder macOS-Client finden Sie in der Kurzanleitung.To use SSH keys from a Linux or macOS client, see the quick steps. Eine umfassendere Übersicht über SSH finden Sie unter Ausführliche Schritte: Erstellen und Verwalten von SSH-Schlüsseln für die Authentifizierung bei einer Linux-VM in Azure.For a more detailed overview of SSH, see Detailed steps: Create and manage SSH keys for authentication to a Linux VM in Azure.

Übersicht über SSH und SchlüsselOverview of SSH and keys

SSH ist ein Protokoll für verschlüsselte Verbindungen, das die sichere Anmeldung über ungesicherte Verbindungen ermöglicht.SSH is an encrypted connection protocol that allows secure sign-ins over unsecured connections. SSH ist das Standardverbindungsprotokoll für in Azure gehostete virtuelle Linux-Computer.SSH is the default connection protocol for Linux VMs hosted in Azure. SSH stellt zwar bereits eine verschlüsselte Verbindung bereit, bei Verwendung von Kennwörtern für SSH ist der virtuelle Computer jedoch weiterhin anfällig für Brute-Force-Angriffe.Although SSH itself provides an encrypted connection, using passwords with SSH still leaves the VM vulnerable to brute-force attacks. Es wird empfohlen, eine Verbindung mit einem virtuellen Computer über SSH mithilfe eines Schlüsselpaars aus öffentlichem und privatem Schlüssel (auch SSH-Schlüssel genannt) herzustellen.We recommend connecting to a VM over SSH using a public-private key pair, also known as SSH keys.

Das Paar aus einem öffentlichen und einem privaten Schlüssel ähnelt dem Schloss an Ihrer Haustür.The public-private key pair is like the lock on your front door. Das Schloss ist öffentlich zugänglich, und jede Person mit dem richtigen Schlüssel kann die Tür öffnen.The lock is exposed to the public , anyone with the right key can open the door. Der Schlüssel ist privat und wird nur an Personen weitergegeben, denen Sie vertrauen, da hiermit die Tür aufgeschlossen werden kann.The key is private , and only given to people you trust because it can be used to unlock the door.

  • Beim Erstellen Ihrer Linux-VM wird der öffentliche Schlüssel auf der VM platziert.The public key is placed on your Linux VM when you create the VM.

  • Der private Schlüssel bleibt auf dem lokalen System.The private key remains on your local system. Bewahren Sie diesen privaten Schlüssel sicher auf.Protect this private key. Geben Sie ihn nicht weiter.Do not share it.

Wenn Sie eine Verbindung mit Ihrer Linux-VM herstellen, testet die VM den SSH-Client, um sicherzustellen, dass er über den richtigen privaten Schlüssel verfügt.When you connect to your Linux VM, the VM tests the SSH client to make sure it has the correct private key. Wenn der Client über den privaten Schlüssel verfügt, erhält er Zugriff auf den virtuellen Computer.If the client has the private key, it's granted access to the VM.

Abhängig von den Sicherheitsrichtlinien in Ihrer Organisation können Sie ein einzelnes Schlüsselpaar für den Zugriff auf mehrere Azure-VMs und -Dienste verwenden.Depending on your organization's security policies, you can reuse a single key pair to access multiple Azure VMs and services. Sie benötigen nicht für jede VM ein separates Schlüsselpaar.You do not need a separate pair of keys for each VM.

Sie können Ihren öffentlichen Schlüssel an beliebige Personen weitergeben, während auf Ihren privaten Schlüssel nur Sie (bzw. Ihre lokale Sicherheitsinfrastruktur) zugreifen können.Your public key can be shared with anyone, but only you (or your local security infrastructure) should have access to your private key.

Unterstützte SSH-SchlüsselformateSupported SSH key formats

Azure unterstützt zurzeit Paare aus öffentlichen/privaten Schlüsseln für SSH-Protokoll 2 (SSH-2) RSA, die eine Mindestlänge von 2048 Bits aufweisen.Azure currently supports SSH protocol 2 (SSH-2) RSA public-private key pairs with a minimum length of 2048 bits. Andere Schlüsselformate wie z.B. ED25519 und ECDSA werden nicht unterstützt.Other key formats such as ED25519 and ECDSA are not supported.

SSH-ClientsSSH clients

Neuere Versionen von Windows 10 enthalten OpenSSH-Clientbefehle zum Erstellen und Verwenden von SSH-Schlüsseln und SSH-Verbindungen über PowerShell oder eine Eingabeaufforderung.Recent versions of Windows 10 include OpenSSH client commands to create and use SSH keys and make SSH connections from PowerShell or a command prompt. Dies ist die einfachste Möglichkeit zum Erstellen einer SSH-Verbindung mit Ihrer Linux-VM von einem Windows-Computer aus.This is the easiest way to create an SSH connection to your Linux VM, from a Windows computer.

Sie können auch Bash in Azure Cloud Shell verwenden, um eine Verbindung mit Ihrer VM herzustellen.You can also use Bash in the Azure Cloud Shell to connect to your VM. Sie können Cloud Shell in einem Webbrowser, über das Azure-Portal oder mithilfe der Azure-Kontoerweiterung als Terminal in Visual Studio Code verwenden.You can use Cloud Shell in a web browser, from the Azure portal, or as a terminal in Visual Studio Code using the Azure Account extension.

Sie können auch das Windows-Subsystem für Linux installieren, um über SSH eine Verbindung mit Ihrer VM herzustellen und andere native Linux-Tools in einer Bash-Shell zu verwenden.You can also install the Windows Subsystem for Linux to connect to your VM over SSH and use other native Linux tools within a Bash shell.

Erstellen eines SSH-SchlüsselpaarsCreate an SSH key pair

Erstellen Sie ein SSH-Schlüsselpaar mit dem Befehl ssh-keygen.Create an SSH key pair using the ssh-keygen command. Geben Sie einen Dateinamen ein, oder verwenden Sie den in Klammern angegebenen Standardwert (z. B. C:\Users\username/.ssh/id_rsa).Enter a filename, or use the default shown in parenthesis (for example C:\Users\username/.ssh/id_rsa). Geben Sie eine Passphrase für die Datei ein, oder lassen Sie sie leer, wenn Sie keine Passphrase verwenden möchten.Enter a passphrase for the file, or leave the passphrase blank if you do not want to use a passphrase.

ssh-keygen -m PEM -t rsa -b 4096

Erstellen einer VM mithilfe des SchlüsselsCreate a VM using your key

Um eine Linux-VM zu erstellen, die SSH-Schlüssel zur Authentifizierung verwendet, geben Sie Ihren öffentlichen SSH-Schlüssel beim Erstellen der VM an.To create a Linux VM that uses SSH keys for authentication, provide your SSH public key when creating the VM.

Bei Verwendung der Azure CLI geben Sie den Pfad und den Dateinamen für den öffentlichen Schlüssel mithilfe von az vm create und dem Parameter --ssh-key-value an.Using the Azure CLI, you specify the path and filename for the public key using az vm create and the --ssh-key-value parameter.

az vm create \
   --resource-group myResourceGroup \
   --name myVM \
   --image UbuntuLTS\
   --admin-username azureuser \
   --ssh-key-value ~/.ssh/id_rsa.pub

Bei PowerShell verwenden Sie New-AzVM und fügen den SSH-Schlüssel der VM-Konfiguration hinzu.With PowerShell, use New-AzVM and add the SSH key to the VM configuration using`. Ein Beispiel finden Sie unter Schnellstart: Erstellen einer Linux-VM mit PowerShell in Azure.For an example, see Quickstart: Create a Linux virtual machine in Azure with PowerShell.

Wenn Sie eine große Anzahl von Bereitstellungen über das Portal vornehmen, können Sie Ihren öffentlichen Schlüssel in Azure hochladen, wo er dann beim Erstellen einer VM über das Portal problemlos ausgewählt werden kann.If you do a lot of deployments using the portal, you might want to upload your public key to Azure, where it can be easily selected when creating a VM from the portal. Weitere Informationen finden Sie unter Hochladen eines SSH-Schlüssels.For more information, see Upload an SSH key.

Herstellen einer Verbindung mit Ihrer VMConnect to your VM

Stellen Sie mit dem auf Ihrer Azure-VM bereitgestellten öffentlichen Schlüssel und dem privaten Schlüssel auf Ihrem lokalen System mithilfe der IP-Adresse oder dem DNS-Namen Ihres virtuellen Computers eine SSH-Verbindung mit Ihrem virtuellen Computer her.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. Ersetzen Sie azureuser und 10.111.12.123 im folgenden Befehl durch den Benutzernamen des Administrators, die IP-Adresse (oder den vollständig qualifizierten Domänennamen) und den Pfad zu Ihrem privaten Schlüssel:Replace azureuser and 10.111.12.123 in the following command with the administrator user name, the IP address (or fully qualified domain name), and the path to your private key:

ssh -i ~/.ssh/id_rsa.pub azureuser@10.111.12.123

Falls Sie beim Erstellen des Schlüsselpaars eine Passphrase konfiguriert haben, müssen Sie diese bei Aufforderung eingeben.If you configured a passphrase when you created your key pair, enter the passphrase when prompted.

Wenn der virtuelle Computer die JIT-Zugriffsrichtlinie (Just-In-Time) verwendet, müssen Sie den Zugriff anfordern, bevor Sie eine Verbindung mit dem virtuellen Computer herstellen können.If the VM is using the just-in-time access policy, you need to request access before you can connect to the VM. Weitere Informationen zur Just-In-Time-Richtlinie finden Sie unter Verwalten des Zugriffs auf virtuelle Computer mithilfe der Just-In-Time-Richtlinie.For more information about the just-in-time policy, see Manage virtual machine access using the just in time policy.

Nächste SchritteNext steps