Freigeben über


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.

Diagramm einer Verbindung über einen nativen Client.

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:

Ü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.

  1. 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.

  2. Verwenden Sie das folgende Beispiel zum Verbinden per RDP.

    az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>"
    
  3. 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.

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

  1. 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.

  2. 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>"
    
  3. 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:

  1. 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.

  2. Ö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>"
    
  3. 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

  1. 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
    
  2. 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
    
  3. Erstellen Sie einen SSH-Tunnel im Bastion-Tunnel.

    ssh -L 2222:127.0.0.1:22 mylogin@127.0.0.1
    
  4. Verwenden Sie VS Code, um eine Verbindung mit Ihrer Tunnelverbindung herzustellen.

Nächste Schritte

Hochladen oder Herunterladen von Dateien