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.
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:
- Schakel Microsoft Entra-aanmelding in voor een Windows-VM of Linux-VM.
- Configureer uw Windows-VM zodat deze lid is van Microsoft Entra.
- Configureer uw Virtuele Windows-machine als hybride Microsoft Entra-koppeling.
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:
Meld u aan bij uw Azure-account met behulp van
az login
. Als u meer dan één abonnement hebt, kunt u deze bekijken met behulpaz account list
van en het abonnement selecteren dat uw Bastion-resource bevat.az account set --subscription "<subscription ID>"
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>"
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
Voeg het volgende toe aan uw $HOME.ssh\config.
Host tunneltunnel HostName 127.0.0.1 Port 2222 User mylogin StrictHostKeyChecking=No UserKnownHostsFile=\\.\NUL
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
Maak een ssh-tunnel in de bastiontunnel.
ssh -L 2222:127.0.0.1:22 mylogin@127.0.0.1
Gebruik VS Code om verbinding te maken met uw tunnelverbinding.