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 derzeit die folgenden Schlüsseltypen:
- SSH-Protokoll 2 (SSH-2) RSA (Rivest, Shamir, Adleman) mit einer Mindestlänge von 2.048 Bit
- ED25519-Schlüssel mit einer festen Länge von 256 Bit
Andere Schlüsselformate wie ECDH (Elliptic Curve Diffie-Hellman) und ECDSA (Elliptic Curve Digital Signature Algorithm) werden derzeit 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
- Ö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.
- Wählen Sie den gewünschten virtuellen Computer aus der Liste aus.
- Wählen Sie im linken Menü Verbinden aus.
- 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.