Delen via


Verbinding maken naar een VIRTUELE machine met bastion en een systeemeigen Linux-client

Dit artikel helpt u om via Azure Bastion verbinding te maken met een VIRTUELE machine in VNet met behulp van de systeemeigen client op uw lokale Linux-computer. Met de systeemeigen clientfunctie kunt u verbinding maken met uw doel-VM's via Bastion met behulp van Azure CLI en worden uw aanmeldingsopties uitgebreid met lokale SSH-sleutelpaar en Microsoft Entra-id. Zie Bastion configureren voor systeemeigen clientverbindingen voor meer informatie en stappen voor het configureren van Bastion voor systeemeigen clientverbindingen. Verbinding maken ionen via een systeemeigen client vereisen de Bastion Standard-SKU of hoger.

Diagram toont een verbinding via een systeemeigen client.

Nadat u Bastion hebt geconfigureerd voor systeemeigen clientondersteuning, kunt u verbinding maken met een virtuele machine met behulp van een systeemeigen Linux-client. De methode die u gebruikt om verbinding te maken, is afhankelijk van zowel de client van waaruit u verbinding maakt als de VM waarmee u verbinding maakt. In de volgende lijst ziet u enkele van de beschikbare manieren waarop u verbinding kunt maken vanaf een systeemeigen Linux-client. Zie Verbinding maken naar VM's voor de volledige lijst met beschikbare combinaties van clientverbindingen/functies.

  • Verbinding maken naar een Virtuele Linux-machine met behulp van az network bastion ssh.
  • Verbinding maken naar een Windows-VM met behulp van az network bastion tunnel.
  • Verbinding maken naar een virtuele machine met behulp van az network bastion tunnel.
  • Upload bestanden naar uw doel-VM via SSH met behulp van az network bastion tunnel. Het downloaden van bestanden van de doel-VM naar de lokale client wordt momenteel niet ondersteund voor deze opdracht.

Vereisten

Controleer voordat u begint of u over de volgende vereisten beschikt:

  • De nieuwste versie van de CLI-opdrachten (versie 2.32 of hoger) is geïnstalleerd. U kunt uw CLI voor Bastion bijwerken met behulp van az extension update --name bastion. Zie Azure CLI installeren en Aan de slag met Azure CLI voor meer informatie over de CLI-opdrachten.
  • Azure Bastion is al geïmplementeerd en geconfigureerd voor uw virtuele netwerk. Zie Bastion configureren voor systeemeigen clientverbindingen voor stappen.
  • Een virtuele machine in het virtuele netwerk.
  • De resource-id van de virtuele machine. De resource-id kan zich eenvoudig in Azure Portal bevinden. Ga naar de overzichtspagina voor uw VIRTUELE machine en selecteer de koppeling JSON-weergave om de resource-JSON te openen. Kopieer de resource-id boven aan de pagina naar het Klembord om deze later te gebruiken wanneer u verbinding maakt met uw virtuele machine.
  • Als u zich wilt aanmelden bij uw virtuele machine met uw Microsoft Entra-referenties, moet u ervoor zorgen dat uw virtuele machine is ingesteld met een van de volgende methoden:

Rollen en poorten controleren

Controleer of de volgende rollen en poorten zijn geconfigureerd om verbinding te maken met de VIRTUELE machine.

Vereiste rollen

  • De lezerrol op de virtuele machine.

  • De lezerrol op de NIC met het privé-IP-adres van de virtuele machine.

  • De rol van Lezer in de Azure Bastion-resource.

  • Virtual Machine Beheer istrator Login or Virtual Machine User Login role, if you's using the Microsoft Entra sign-in method. U hoeft dit alleen te doen als u Microsoft Entra-aanmelding inschakelt met behulp van de processen die worden beschreven in een van deze artikelen:

Poorten

Als u verbinding wilt maken met een Linux-VM met behulp van systeemeigen clientondersteuning, moet u de volgende poorten hebben geopend op uw Linux-VM:

  • Binnenkomende poort: SSH (22) of
  • Binnenkomende poort: aangepaste waarde (u moet deze aangepaste poort opgeven wanneer u verbinding maakt met de virtuele machine via Azure Bastion)

Als u verbinding wilt maken met een Windows-VM met behulp van systeemeigen clientondersteuning, moet u de volgende poorten hebben geopend op uw Windows-VM:

  • Binnenkomende poort: RDP (3389) of
  • Binnenkomende poort: aangepaste waarde (u moet deze aangepaste poort opgeven wanneer u verbinding maakt met de virtuele machine via Azure Bastion)

Zie Werken met NSG-toegang en Azure Bastion voor meer informatie over het configureren van NSG's met Azure Bastion.

Verbinding maken met een Linux-VM

De stappen in de volgende secties helpen u verbinding te maken met een Linux-VM vanuit een systeemeigen Linux-client met behulp van de opdracht az network bastion . Deze extensie kan worden geïnstalleerd door uit te voeren, az extension add --name bastion.

Wanneer u verbinding maakt met deze opdracht, worden bestandsoverdrachten niet ondersteund. Als u bestanden wilt uploaden, maakt u verbinding met behulp van de opdracht az network bastion tunnel .

Met deze opdracht kunt u het volgende doen:

  • Verbinding maken naar een Virtuele Linux-machine met behulp van SSH.
  • Verifiëren via Microsoft Entra-id
  • Verbinding maken gelijktijdige VM-sessies binnen het virtuele netwerk.

Gebruik een van de volgende voorbeelden om u aan te melden. Zodra u zich hebt aangemeld bij uw doel-VM, wordt de systeemeigen client op uw computer geopend met uw VM-sessie.

SSH-sleutelpaar

Gebruik het volgende voorbeeld om u aan te melden bij uw virtuele machine met behulp van een SSH-sleutelpaar.

az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"

Microsoft Entra-verificatie

Als u zich aanmeldt bij een vm met Microsoft Entra-aanmelding, gebruikt u het volgende voorbeeld. Zie Azure Linux-VM's en Microsoft Entra-id voor meer informatie.

az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "AAD"

Gebruikersnaam/wachtwoord

Als u zich aanmeldt bij uw virtuele machine met een lokale gebruikersnaam en wachtwoord, gebruikt u het volgende voorbeeld. Vervolgens wordt u gevraagd om het wachtwoord voor de doel-VM.

az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "password" --username "<Username>"

SSH naar een IP-adres van een Linux-VM

U kunt verbinding maken met een privé-IP-adres van een virtuele machine in plaats van de resource-id. Houd er rekening mee dat Microsoft Entra-verificatie en aangepaste poorten en protocollen niet worden ondersteund bij het gebruik van dit type verbinding. Zie Verbinding maken naar een VM - IP-adres voor meer informatie over IP-verbindingen.

Vervang de az network bastion opdracht door --target-resource-id --target-ip-address en het opgegeven IP-adres om verbinding te maken met uw VIRTUELE machine. In het volgende voorbeeld wordt --ssh-key gebruikt voor de verificatiemethode.

az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-addres "<VMIPAddress>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"

Verbinding maken naar een VM - tunnelopdracht

De opdracht az network bastion tunnel is een andere manier waarop u verbinding kunt maken met uw VM's. Wanneer u deze opdracht gebruikt, kunt u het volgende doen:

  • Verbinding maken van systeemeigen clients op niet-Windows-lokale computers. (Bijvoorbeeld een Linux-computer.)
  • Verbinding maken naar een virtuele machine met behulp van SSH of RDP. (De bastiontunnel stuurt geen webservers of hosts door.)
  • Gebruik de systeemeigen client van uw keuze.
  • Upload bestanden naar uw doel-VM vanaf uw lokale computer. Het downloaden van bestanden van de doel-VM naar de lokale client wordt momenteel niet ondersteund voor deze opdracht.

Beperkingen:

  • Aanmelden met een persoonlijke SSH-sleutel die is opgeslagen in Azure Key Vault, wordt niet ondersteund met deze functie. Voordat u zich aanmeldt bij uw Linux-VM met behulp van een SSH-sleutelpaar, downloadt u uw persoonlijke sleutel naar een bestand op uw lokale computer.
  • Deze functie wordt niet ondersteund in Cloud Shell.

Stappen:

  1. Meld u aan bij uw Azure-account met behulp van az login. Als u meer dan één abonnement hebt, kunt u deze bekijken met behulp az account list van en het abonnement selecteren dat uw Bastion-resource bevat.az account set --subscription "<subscription ID>"

  2. Open de tunnel naar uw doel-VM.

    az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"
    
  3. Verbinding maken naar uw doel-VM met behulp van SSH of RDP, de systeemeigen client van uw keuze en de lokale computerpoort die u in de vorige stap hebt opgegeven.

    U kunt bijvoorbeeld de volgende opdracht gebruiken als de OpenSSH-client is geïnstalleerd op uw lokale computer:

    ssh <username>@127.0.0.1 -p <LocalMachinePort>
    

Tunnel naar een IP-adres van een VIRTUELE machine

U kunt ook verbinding maken met een privé-IP-adres van een virtuele machine in plaats van de resource-id. Microsoft Entra-verificatie en aangepaste poorten en protocollen worden niet ondersteund bij het gebruik van dit type verbinding. Zie Verbinding maken naar een VM - IP-adres voor meer informatie over IP-verbindingen.

Vervang de az network bastion tunnel opdracht door --target-resource-id --target-ip-address en het opgegeven IP-adres om verbinding te maken met uw VIRTUELE machine.

az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"

Tunnel met meerdere verbindingen

  1. Voeg het volgende toe aan uw $HOME.ssh\config.

    Host tunneltunnel
      HostName 127.0.0.1
      Port 2222
      User mylogin
      StrictHostKeyChecking=No
      UserKnownHostsFile=\\.\NUL
    
  2. Voeg de tunnelverbinding toe aan de tot stand gebrachte tunnelverbinding.

    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. Maak een ssh-tunnel in de bastiontunnel.

    ssh -L 2222:127.0.0.1:22 mylogin@127.0.0.1
    
  4. Gebruik VS Code om verbinding te maken met uw tunnelverbinding.

Volgende stappen

Bestanden uploaden of downloaden