Herstellen einer Verbindung mit einer VM mithilfe von Bastion und einem nativen Windows-Client
In diesem Artikel wird beschrieben, wie Sie mithilfe des nativen Clients (SSH oder RDP) auf Ihrem lokalen Windows-Computer eine Verbindung mit einem virtuellen Computer im VNet herstellen. Mit dem nativen Client können Sie über Bastion mithilfe der Azure CLI eine Verbindung mit Ihren Ziel-VMs herstellen und Ihre Anmeldeoptionen um ein lokales SSH-Schlüsselpaar und Microsoft Entra ID erweitern. Weitere Informationen und Schritte zum Konfigurieren von Bastion für native Clientverbindungen finden Sie unter Konfigurieren von Bastion für native Clientverbindungen. Für Verbindungen über einen nativen Client ist die Bastion Standard-SKU oder höher erforderlich.
Nachdem Sie Bastion für die native Clientunterstützung konfiguriert haben, können Sie mithilfe eines nativen Windows-Clients eine Verbindung mit einer VM herstellen. Die Methode, die Sie zum Herstellen einer Verbindung verwenden, hängt sowohl vom Client als auch von der VM, mit der Sie eine Verbindung herstellen. Die folgende Liste zeigt einige der verfügbaren Möglichkeiten, um eine Verbindung über einen nativen Windows-Client herzustellen. Eine vollständige Liste mit verfügbaren Clientverbindungs-/Featurekombinationen finden Sie unter Herstellen einer Verbindung mit VMs.
- Stellen Sie eine Verbindung mit einer Windows-VM mithilfe des Befehls az network bastion rdp her.
- Stellen Sie eine Verbindung mit einem virtuellen Linux-Computer unter Verwendung von az network bastion ssh her.
- Stellen Sie eine Verbindung mit einer VM mithilfe des Befehls az network bastion tunnel her.
- Hochladen und herunterladen von Dateien über RDP
- Laden Sie Dateien über SSH mithilfe von az network bastion tunnel hoch.
Voraussetzungen
Stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind, bevor Sie beginnen:
- Die neueste Version der CLI-Befehle (Version 2.32 oder höher) ist installiert. Sie können Ihre CLI für Bastion mit
az extension update --name bastion
aktualisieren. Informationen zum Installieren der CLI-Befehle finden Sie unter Installieren von Azure CLI 2.0 und Erste Schritte mit Azure CLI 2.0. - Azure Bastion ist bereits für Ihr virtuelles Netzwerk bereitgestellt und konfiguriert. Die Schritte finden Sie unter Konfigurieren von Bastion für native Clientverbindungen.
- Ein VM in einem virtuellen Netzwerk.
- Die Ressourcen-ID der VM: Die Ressourcen-ID kann problemlos im Azure-Portal abgefragt werden. Wechseln Sie zur Übersichtsseite Ihrer VM, und wählen Sie den Link JSON-Ansicht aus, um die Ressource „JSON“ zu öffnen. Kopieren Sie die Ressourcen-ID oben auf der Seite in die Zwischenablage, um sie später beim Herstellen einer Verbindung mit Ihrem virtuellen Computer zu verwenden.
- Wenn Sie sich mit Ihren Microsoft Entra-Anmeldeinformationen bei Ihrer VM anzumelden möchten, stellen Sie sicher, dass sie mit einer der folgenden Methoden eingerichtet ist:
Überprüfen Sie die Rollen und Ports
Stellen Sie sicher, dass die folgenden Rollen und Ports konfiguriert sind, um eine Verbindung mit der VM herzustellen.
Erforderliche Rollen
Rolle „Leser“ für den virtuellen Computer
Rolle „Leser“ für den Netzwerkadapter mit privater IP-Adresse des virtuellen Computers
Rolle „Leser“ für die Azure Bastion-Ressource
Rolle „VM-Administratoranmeldung“ oder „VM-Benutzeranmeldung“, wenn Sie die Microsoft Entra-Anmeldemethode verwenden. Sie müssen dies nur tun, wenn Sie die Anmeldung mit Microsoft Entra anhand einer der in den folgenden Artikeln beschriebenen Prozesse aktivieren:
Ports
Um eine Verbindung mit einer Linux-VM mit nativem Client-Support herzustellen, müssen auf Ihrer Linux-VM die folgenden Ports offen sein:
- Eingehender Port: SSH (22) oder
- Eingehender Port: Benutzerdefinierter Wert (Sie müssen diesen benutzerdefinierten Port angeben, wenn Sie über Azure Bastion eine Verbindung mit der VM herstellen)
Um eine Verbindung mit einer Windows-VM mit nativem Client-Support herzustellen, müssen auf Ihrer Windows-VM die folgenden Ports offen sein:
- Eingehender Port: RDP (3389) oder
- Eingehender Port: Benutzerdefinierter Wert (Sie müssen diesen benutzerdefinierten Port angeben, wenn Sie über Azure Bastion eine Verbindung mit der VM herstellen)
Informationen zur optimalen Konfiguration von NSGs mit Azure Bastion finden Sie unter Arbeiten mit NSG-Zugang und Azure Bastion.
Herstellen einer Verbindung mit einem virtuellen Computer
Durch Befolgen der Schritte in den folgenden Abschnitten können Sie mithilfe des Befehls az network bastion eine Verbindung mit einer VM von einem nativen Windows-Client herstellen.
RDP zu einem virtuellen Windows-Computer
Wenn ein Benutzer über RDP eine Verbindung mit einer Windows-VM herstellt, muss er über Rechte für die Ziel-VM verfügen. Wenn der Benutzer kein lokaler Administrator ist, fügen Sie den Benutzer der Gruppe „Remotedesktopbenutzer“ auf der Ziel-VM hinzu.
Melden Sie sich mithilfe von „
az login
“ bei Ihrem Azure-Konto an. Wenn Sie über mehrere Abonnements verfügen, können Sie sie mithilfe von „az account list
“ anzeigen und dann mithilfe von „az account set --subscription "<subscription ID>"
“ das Abonnement auswählen, das Ihre Bastion-Ressource enthält.Verwenden Sie das folgende Beispiel zum Verbinden per RDP.
az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>"
Nachdem Sie den Befehl ausgeführt haben, werden Sie aufgefordert, Ihre Anmeldeinformationen einzugeben. Sie können entweder einen lokalen Benutzernamen mit zugehörigem Kennwort oder Ihre Microsoft Entra-Anmeldeinformationen verwenden. Nachdem Sie sich bei Ihrem virtuellen Zielcomputer angemeldet haben, öffnet sich der native Client auf Ihrem Computer mit Ihrer VM-Sitzung über MSTSC.
Wichtig
Die Remoteverbindung mit VMs, die mit Microsoft Entra ID verknüpft sind, ist nur von Windows 10 oder höheren PCs zulässig, die entweder Microsoft Entra registriert sind (ab Windows 10 20H1) oder Microsoft Entra eingebunden oder Microsoft Entra hybrid in dasselbe Verzeichnis als VM eingebunden sind.
Angeben der Authentifizierungsmethode
Optional können Sie auch die Authentifizierungsmethode als Teil des Befehls angeben.
- Microsoft Entra Authentifizierung: Für Windows 10 Version 20H2+, Windows 11 21H2+, und Windows Server 2022, verwenden Sie
--enable-mfa
. Weitere Informationen finden Sie unter az network bastion rdp – optionale Parameter.
Angeben eines benutzerdefinierten Ports
Sie können einen benutzerdefinierten Port angeben, wenn Sie über RDP eine Verbindung mit einer Windows-VM herstellen.
Ein Szenario, in dem dies besonders nützlich sein könnte, wäre das Verbinden mit einer Windows-VM über Port 22. Dies ist eine potenzielle Problemumgehung für die Einschränkung des Befehls az network bastion ssh, der von einem nativen Windows-Client nicht zum Herstellen einer Verbindung mit einer Windows-VM verwendet werden kann.
Um einen benutzerdefinierten Port anzugeben, fügen Sie das Feld --resource-port in den Anmeldebefehl ein, wie im folgenden Beispiel gezeigt.
az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>" --resource-port "22"
RDP zu einer Windows-VM-IP-Adresse
Anstatt die Ressourcen-ID zu verwenden, können Sie eine Verbindung mit einer privaten VM-IP-Adresse herstellen. Microsoft Entra-Authentifizierung sowie benutzerdefinierte Ports und Protokolle werden bei dieser Art von Verbindung nicht unterstützt. Weitere Informationen auf IP-Adressen basierenden Verbindungen finden Sie unter Herstellen der Verbindung mit einer VM über die angegebene private IP-Adresse.
Ersetzen Sie im Befehl az network bastion
die Angabe --target-resource-id
durch --target-ip-address
und die angegebene IP-Adresse, um eine Verbindung mit Ihrer VM herzustellen.
az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>"
SSH zu einem virtuellen Linux-Computer
Melden Sie sich mithilfe von „
az login
“ bei Ihrem Azure-Konto an. Wenn Sie über mehrere Abonnements verfügen, können Sie sie mithilfe von „az account list
“ anzeigen und dann mithilfe von „az account set --subscription "<subscription ID>"
“ das Abonnement auswählen, das Ihre Bastion-Ressource enthält.Melden Sie sich bei Ihrer Linux-Ziel-VM mit einer der folgenden Beispieloptionen an. Wenn Sie einen benutzerdefinierten Portwert angeben möchten, schließen Sie auch das Feld --resource-port in den Anmeldebefehl ein.
Microsoft Entra ID:
Wenn Sie sich bei einer für die Microsoft Entra-Anmeldung eingerichteten VM anmelden, verwenden Sie den folgenden Befehl. Weitere Informationen finden Sie unter Linux-VMs in Azure und Microsoft Entra ID.
az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "AAD"
SSH-Schlüsselpaar:
Diese Erweiterung kann durch das Ausführen von
az extension add --name ssh
installiert werden. Wenn Sie sich mit einem SSH-Schlüsselpaar anmelden, verwenden Sie den im folgenden Beispiel angegebenen Befehl.az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"
Benutzername/Kennwort:
Wenn Sie sich mit einem lokalen Benutzernamen und Kennwort anmelden, verwenden Sie den folgenden Befehl. Sie werden dann zur Eingabe des Kennworts für die Ziel-VM aufgefordert.
az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "password" --username "<Username>"
Nachdem Sie sich bei Ihrem virtuellen Zielcomputer angemeldet haben, öffnet sich der native Client auf Ihrem Computer mit Ihrer VM-Sitzung unter Verwendung der SSH CLI-Erweiterung (az ssh).
SSH zu einer Linux-VM-IP-Adresse
Anstatt die Ressourcen-ID zu verwenden, können Sie eine Verbindung mit einer privaten VM-IP-Adresse herstellen. Microsoft Entra-Authentifizierung sowie benutzerdefinierte Ports und Protokolle werden bei dieser Art von Verbindung nicht unterstützt. Weitere Informationen auf IP-Adressen basierenden Verbindungen finden Sie unter Herstellen der Verbindung mit einer VM über die angegebene private IP-Adresse.
Ersetzen Sie im Befehl az network bastion
die Angabe --target-resource-id
durch --target-ip-address
und die angegebene IP-Adresse, um eine Verbindung mit Ihrer VM herzustellen.
az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"
Herstellen einer Verbindung mit einer VM– „tunnel“-Befehl
Der Befehl az network bastion tunnel ist eine weitere Möglichkeit, eine Verbindung mit Ihren VMs herzustellen. Wenn Sie diesen Befehl verwenden, können Sie Folgendes tun:
- Stellen Sie eine Verbindung von nativen Clients auf lokalen Nicht-Windows-Computern her. (Ein Beispiel wäre ein Linux-Computer.)
- Stellen Sie mithilfe von SSH oder RDP eine Verbindung mit einer VM her. (Der Bastion-Tunnel leitet keine Webserver oder Hosts weiter.)
- Verwenden eines nativen Clients Ihrer Wahl
- Hochladen von Dateien von Ihrem lokalen Computer auf Ihren virtuellen Zielcomputer. Derzeit wird der Download von Dateien von der Ziel-VM auf den lokalen Client für diesen Befehl nicht unterstützt.
Einschränkungen:
- Die Anmeldung mit einem privaten SSH-Schlüssel, der in Azure Key Vault gespeichert ist, wird von diesem Feature nicht unterstützt. Laden Sie Ihren privaten Schlüssel in eine Datei auf Ihren lokalen Computer herunter, bevor Sie sich mithilfe eines SSH-Schlüsselpaars bei Ihrer Linux-VM anmelden.
- Dieses Feature wird in Cloud Shell nicht unterstützt.
Schritte:
Melden Sie sich mithilfe von „
az login
“ bei Ihrem Azure-Konto an. Wenn Sie über mehrere Abonnements verfügen, können Sie sie mithilfe von „az account list
“ anzeigen und dann mithilfe von „az account set --subscription "<subscription ID>"
“ das Abonnement auswählen, das Ihre Bastion-Ressource enthält.Öffnen Sie den Tunnel zu Ihrer Ziel-VM.
az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"
Stellen Sie mit SSH oder RDP, dem nativen Client Ihrer Wahl und dem Port des lokalen Computers, den Sie in vorherigen Schritt angegeben haben, eine Verbindung zu Ihrem virtuellen Zielcomputer her.
Sie können z. B. den folgenden Befehl verwenden, wenn der OpenSSH-Client auf Ihrem lokalen Computer installiert ist:
ssh <username>@127.0.0.1 -p <LocalMachinePort>
Tunnel zu einer VM-IP-Adresse
Anstatt die Ressourcen-ID zu verwenden, können Sie eine Verbindung mit einer privaten VM-IP-Adresse herstellen. Microsoft Entra-Authentifizierung sowie benutzerdefinierte Ports und Protokolle werden bei dieser Art von Verbindung nicht unterstützt. Weitere Informationen auf IP-Adressen basierenden Verbindungen finden Sie unter Herstellen der Verbindung mit einer VM über die angegebene private IP-Adresse.
Ersetzen Sie im Befehl az network bastion tunnel
die Angabe --target-resource-id
durch --target-ip-address
und die angegebene IP-Adresse, um eine Verbindung mit Ihrer VM herzustellen.
az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"
Tunnel mit mehreren Verbindungen
Fügen Sie Ihrer Datei „$HOME.ssh\config“ Folgendes hinzu.
Host tunneltunnel HostName 127.0.0.1 Port 2222 User mylogin StrictHostKeyChecking=No UserKnownHostsFile=\\.\NUL
Fügen Sie die Tunnelverbindung zu Ihrer eingerichteten Tunnelverbindung hinzu.
az network bastion tunnel --name mybastion --resource-group myrg --target-resource-id /subscriptions/<mysubscription>/resourceGroups/myrg/providers/Microsoft.Compute/virtualMachines/myvm --resource-port 22 --port 22
Erstellen Sie einen SSH-Tunnel im Bastion-Tunnel.
ssh -L 2222:127.0.0.1:22 mylogin@127.0.0.1
Verwenden Sie VS Code, um eine Verbindung mit Ihrer Tunnelverbindung herzustellen.