Share via


Herstellen einer Verbindung über Secure Shell (SSH) mit einer Azure-VM unter Windows und Anmelden bei dieser VM

Gilt für: ✔️ Windows-VMs ✔️ Flexible Skalierungsgruppen

Das Projekt Win32 OpenSSH macht Remotekonnektivität mit Secure Shell durch native Unterstützung unter Windows allgemein verfügbar. Die Funktionalität steht ab der Windows Server-Version 2019 zur Verfügung und kann älteren Windows-Versionen über eine VM-Erweiterung hinzugefügt werden.

In den folgenden Beispielen werden Variablen verwendet. Sie können Variablen in Ihrer Umgebung wie folgt festlegen.

Shell Beispiel
Bash/ZSH myResourceGroup='resGroup10'
PowerShell $myResourceGroup='resGroup10'

Aktivieren von SSH

Zunächst müssen Sie SSH auf Ihrem Windows-Computer aktivieren.

Stellen Sie die SSH-Erweiterung unter Windows bereit. Die Erweiterung ermöglicht eine automatische Installation der Win32 OpenSSH-Lösung, ähnlich wie bei Aktivierung dieser Funktionalität in neueren Versionen von Windows. Stellen Sie die Erweiterung anhand der folgenden Beispiele bereit.

az vm extension set --resource-group $myResourceGroup --vm-name $myVM --name WindowsOpenSSH --publisher Microsoft.Azure.OpenSSH --version 3.0

Öffnen des TCP-Ports

Stellen Sie sicher, dass der entsprechende Port (standardmäßig TCP 22) geöffnet ist, um Konnektivität mit der VM zu ermöglichen.

az network nsg rule create -g $myResourceGroup --nsg-name $myNSG -n allow-SSH --priority 1000 --source-address-prefixes 208.130.28.4/32 --destination-port-ranges 22 --protocol TCP
  • Ihre VM muss über eine öffentliche IP-Adresse verfügen. Um zu überprüfen, ob Ihre VM über eine öffentliche IP-Adresse verfügt, wählen Sie Übersicht im linken Menü aus und schauen sich den Abschnitt Netzwerk an. Wenn neben Öffentliche IP-Adresse eine IP-Adresse angezeigt wird, verfügt Ihre VM über eine öffentliche IP-Adresse. Weitere Informationen zum Hinzufügen einer öffentlichen IP-Adresse zu einer vorhandenen VM finden Sie unter Zuordnen einer öffentlichen IP-Adresse zu einem virtuellen Computer.

  • Überprüfen Sie, ob Ihre VM ausgeführt wird. Überprüfen Sie auf der Registerkarte „Übersicht“ im Abschnitt „Essentials“, dass der Status des virtuellen Computers „Wird ausgeführt“ lautet. Um die VM zu starten, wählen Sie oben auf der Seite Start aus.

Authentifizierung

Sie können sich bei Windows-Computern entweder mit Benutzername und Kennwort oder SSH-Schlüsseln authentifizieren. Azure unterstützt nicht die automatische Bereitstellung öffentlicher Schlüssel für Windows-Computer. Sie können den Schlüssel jedoch mithilfe der RunCommand-Erweiterung kopieren.

Übersicht über SSH und Schlüssel

SSH ist ein Protokoll für verschlüsselte Verbindungen, das die sichere Anmeldung über ungesicherte Verbindungen ermöglicht. SSH stellt bereits eine verschlüsselte Verbindung bereit. Bei Verwendung von Kennwörtern für SSH-Verbindungen ist die VM aber anfällig für Brute-Force-Angriffe. Es wird empfohlen, über SSH mithilfe eines Schlüsselpaars aus einem öffentlichen und einem privaten Schlüssel (auch SSH-Schlüssel genannt) eine Verbindung mit einer VM herzustellen.

  • Der öffentliche Schlüssel wird auf Ihrer VM platziert.

  • Der private Schlüssel bleibt auf dem lokalen System. Bewahren Sie diesen privaten Schlüssel sicher auf. Geben Sie ihn nicht weiter.

Wenn Sie einen SSH-Client verwenden, um eine Verbindung mit Ihrer VM (die den öffentlichen Schlüssel besitzt) herzustellen, testet die Remote-VM den Client, um sicherzustellen, dass er über den richtigen privaten Schlüssel verfügt. Wenn der Client über den privaten Schlüssel verfügt, erhält er Zugriff auf den virtuellen Computer.

Abhängig von den Sicherheitsrichtlinien in Ihrer Organisation können Sie ein einzelnes Paar aus einem öffentlichen und einem privaten Schlüssel für den Zugriff auf mehrere Azure-VMs und -Dienste verwenden. Sie benötigen nicht für jeden virtuellen Computer oder Dienst, auf den Sie zugreifen möchten, ein separates Schlüsselpaar.

Sie können Ihren öffentlichen Schlüssel beliebig weitergeben, aber auf Ihren privaten Schlüssel können nur Sie (bzw. Ihre lokale Sicherheitsinfrastruktur) zugreifen.

Unterstützte SSH-Schlüsselformate

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. Andere Schlüsselformate wie z.B. ED25519 und ECDSA werden nicht unterstützt.

Kopieren Sie einen öffentlichen Schlüssel mithilfe der RunCommand-Erweiterung.

Die RunCommand-Erweiterung bietet eine einfache Lösung für das Kopieren eines öffentlichen Schlüssels auf Windows-Computer und stellt sicher, dass die Datei die erforderlichen Berechtigungen hat.

az vm run-command invoke -g $myResourceGroup -n $myVM --command-id RunPowerShellScript --scripts "MYPUBLICKEY | Add-Content 'C:\ProgramData\ssh\administrators_authorized_keys' -Encoding UTF8;icacls.exe 'C:\ProgramData\ssh\administrators_authorized_keys' /inheritance:r /grant 'Administrators:F' /grant 'SYSTEM:F'"

Herstellen einer Verbindung mithilfe der Azure CLI

Stellen Sie mithilfe von Az SSH-Befehlen eine Verbindung mit Windows-Computern her.

az ssh vm  -g $myResourceGroup -n $myVM --local-user $myUsername

Es ist auch möglich, über die SSH-Verbindung einen Netzwerktunnel für bestimmte TCP-Ports einzurichten. Ein sinnvoller Anwendungsfall hierfür ist Remotedesktop mit der Standardeinstellung auf Port 3389.

az ssh vm  -g $myResourceGroup -n $myVM --local-user $myUsername -- -L 3389:localhost:3389

Herstellen einer Verbindung im Azure-Portal

  1. Öffnen Sie das Azure-Portal, um eine Verbindung mit einem virtuellen Computer herzustellen. Suchen Sie nach Virtuelle Computer, und wählen Sie diese Option aus.
  2. Wählen Sie den gewünschten virtuellen Computer aus der Liste aus.
  3. Wählen Sie im linken Menü Verbinden aus.
  4. Wählen Sie die Option aus, die zu Ihrer bevorzugten Verbindungsart passt. Das Portal hilft Ihnen dabei, die Voraussetzungen für die Verbindung zu erfüllen.

Nächste Schritte

Informationen dazu, wie Sie Dateien in eine vorhandene VM übertragen, finden Sie unter Verwenden von SCP zum Verschieben von Dateien auf einen und von einem virtuellen Computer.