Anslut till en virtuell dator med Bastion och en inbyggd Linux-klient
Den här artikeln hjälper dig att ansluta via Azure Bastion till en virtuell dator i VNet med den interna klienten på din lokala Linux-dator. Med den interna klientfunktionen kan du ansluta till dina virtuella måldatorer via Bastion med hjälp av Azure CLI och utökar dina inloggningsalternativ till att omfatta lokalt SSH-nyckelpar och Microsoft Entra-ID. Mer information och steg för att konfigurera Bastion för interna klientanslutningar finns i Konfigurera Bastion för interna klientanslutningar. Anslut ions via intern klient kräver Bastion Standard SKU eller högre.
När du har konfigurerat Bastion för internt klientstöd kan du ansluta till en virtuell dator med hjälp av en inbyggd Linux-klient. Vilken metod du använder för att ansluta beror på både klienten du ansluter från och den virtuella dator som du ansluter till. I följande lista visas några av de tillgängliga sätten att ansluta från en inbyggd Linux-klient. Se Anslut till virtuella datorer för den fullständiga listan som visar tillgängliga kombinationer av klientanslutningar/funktioner.
- Anslut till en virtuell Linux-dator med az network bastion ssh.
- Anslut till en virtuell Windows-dator med az network bastion tunnel.
- Anslut till alla virtuella datorer med az network bastion tunnel.
- Ladda upp filer till den virtuella måldatorn via SSH med az network bastion tunnel. Filhämtning från den virtuella måldatorn till den lokala klienten stöds för närvarande inte för det här kommandot.
Förutsättningar
Innan du börjar kontrollerar du att du har följande förutsättningar:
- Den senaste versionen av CLI-kommandona (version 2.32 eller senare) installeras. Du kan uppdatera CLI för Bastion med .
az extension update --name bastion
Information om att installera CLI-kommandona finns i Installera Azure CLI och Kom igång med Azure CLI. - Azure Bastion har redan distribuerats och konfigurerats för ditt virtuella nätverk. Anvisningar finns i Konfigurera Bastion för interna klientanslutningar.
- En virtuell dator i det virtuella nätverket.
- Den virtuella datorns resurs-ID. Resurs-ID:t kan enkelt hittas i Azure-portalen. Gå till sidan Översikt för den virtuella datorn och välj länken JSON-vy för att öppna resurs-JSON. Kopiera resurs-ID:t överst på sidan till Urklipp som ska användas senare när du ansluter till den virtuella datorn.
- Om du planerar att logga in på den virtuella datorn med dina Microsoft Entra-autentiseringsuppgifter kontrollerar du att den virtuella datorn har konfigurerats med någon av följande metoder:
- Aktivera Microsoft Entra-inloggning för en virtuell Windows-dator eller en virtuell Linux-dator.
- Konfigurera din virtuella Windows-dator så att den är Microsoft Entra-ansluten.
- Konfigurera din virtuella Windows-dator så att den är Microsoft Entra-hybridanslutning.
Verifiera roller och portar
Kontrollera att följande roller och portar har konfigurerats för att ansluta till den virtuella datorn.
Roller som krävs
Läsarroll på den virtuella datorn.
Läsarroll på nätverkskortet med den virtuella datorns privata IP-adress.
Läsarroll på Azure Bastion-resursen.
Inloggningsroll för virtuell datoradministratör eller inloggningsroll för virtuell dator om du använder inloggningsmetoden Microsoft Entra. Du behöver bara göra detta om du aktiverar Microsoft Entra-inloggning med hjälp av processerna som beskrivs i någon av dessa artiklar:
Hamnar
Om du vill ansluta till en virtuell Linux-dator med inbyggt klientstöd måste du ha följande portar öppna på den virtuella Linux-datorn:
- Inkommande port: SSH (22) eller
- Inkommande port: Anpassat värde (du måste sedan ange den här anpassade porten när du ansluter till den virtuella datorn via Azure Bastion)
Om du vill ansluta till en virtuell Windows-dator med inbyggt klientstöd måste du ha följande portar öppna på den virtuella Windows-datorn:
- Inkommande port: RDP (3389) eller
- Inkommande port: Anpassat värde (du måste sedan ange den här anpassade porten när du ansluter till den virtuella datorn via Azure Bastion)
Mer information om hur du konfigurerar NSG:er med Azure Bastion finns i Arbeta med NSG-åtkomst och Azure Bastion.
Ansluta till en virtuell Linux-dator
Stegen i följande avsnitt hjälper dig att ansluta till en virtuell Linux-dator från en inbyggd Linux-klient med kommandot az network bastion . Det här tillägget kan installeras genom att köra, az extension add --name bastion
.
När du ansluter med det här kommandot stöds inte filöverföringar. Om du vill ladda upp filer ansluter du med kommandot az network bastion tunnel i stället.
Med det här kommandot kan du göra följande:
- Anslut till en virtuell Linux-dator med SSH.
- Autentisera via Microsoft Entra-ID
- Anslut till samtidiga VM-sessioner i det virtuella nätverket.
Om du vill logga in använder du något av följande exempel. När du har loggat in på den virtuella måldatorn öppnas den interna klienten på datorn med den virtuella datorsessionen.
SSH-nyckelpar
Om du vill logga in på den virtuella datorn med ett SSH-nyckelpar använder du följande exempel.
az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"
Microsoft Entra-autentisering
Om du loggar in på en Microsoft Entra-inloggningsaktiverad virtuell dator använder du följande exempel. Mer information finns i Virtuella Azure Linux-datorer och Microsoft Entra-ID.
az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "AAD"
Användarnamn/lösenord
Om du loggar in på den virtuella datorn med ett lokalt användarnamn och lösenord använder du följande exempel. Du uppmanas sedan att ange lösenordet för den virtuella måldatorn.
az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "password" --username "<Username>"
SSH till en VIRTUELL Linux-dators IP-adress
Du kan ansluta till en privat IP-adress för den virtuella datorn i stället för resurs-ID:t. Tänk på att Microsoft Entra-autentisering och anpassade portar och protokoll inte stöds när du använder den här typen av anslutning. Mer information om IP-baserade anslutningar finns i Anslut till en virtuell dator – IP-adress.
az network bastion
Använd kommandot och ersätt --target-resource-id
med --target-ip-address
och den angivna IP-adressen för att ansluta till den virtuella datorn. I följande exempel används --ssh-key för autentiseringsmetoden.
az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-addres "<VMIPAddress>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"
Anslut till en virtuell dator – tunnelkommando
Kommandot az network bastion tunnel är ett annat sätt att ansluta till dina virtuella datorer. När du använder det här kommandot kan du göra följande:
- Anslut från interna klienter på lokala datorer som inte är Windows-datorer. (Till exempel en Linux-dator.)
- Anslut till en virtuell dator med SSH eller RDP. (Skyddstunneln vidarebefordrar inte webbservrar eller värdar.)
- Använd valfri intern klient.
- Ladda upp filer till den virtuella måldatorn från den lokala datorn. Filhämtning från den virtuella måldatorn till den lokala klienten stöds för närvarande inte för det här kommandot.
Begränsningar:
- Inloggning med en privat SSH-nyckel som lagras i Azure Key Vault stöds inte med den här funktionen. Innan du loggar in på din virtuella Linux-dator med hjälp av ett SSH-nyckelpar laddar du ned din privata nyckel till en fil på den lokala datorn.
- Den här funktionen stöds inte i Cloud Shell.
Steg:
Logga in på ditt Azure-konto med .
az login
Om du har fler än en prenumeration kan du visa dem med ochaz account list
välja den prenumeration som innehåller din Bastion-resurs med hjälp avaz account set --subscription "<subscription ID>"
.Öppna tunneln till den virtuella måldatorn.
az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"
Anslut till den virtuella måldatorn med hjälp av SSH eller RDP, valfri intern klient och den lokala datorport som du angav i föregående steg.
Du kan till exempel använda följande kommando om du har OpenSSH-klienten installerad på den lokala datorn:
ssh <username>@127.0.0.1 -p <LocalMachinePort>
Tunnel till en VM-IP-adress
Du kan också ansluta till en privat IP-adress för virtuella datorer i stället för resurs-ID:t. Microsoft Entra-autentisering och anpassade portar och protokoll stöds inte när du använder den här typen av anslutning. Mer information om IP-baserade anslutningar finns i Anslut till en virtuell dator – IP-adress.
az network bastion tunnel
Använd kommandot och ersätt --target-resource-id
med --target-ip-address
och den angivna IP-adressen för att ansluta till den virtuella datorn.
az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"
Tunnel med flera anslutningar
Lägg till följande i din $HOME.ssh\config.
Host tunneltunnel HostName 127.0.0.1 Port 2222 User mylogin StrictHostKeyChecking=No UserKnownHostsFile=\\.\NUL
Lägg till tunnelanslutningen till din etablerade tunnelanslutning.
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
Skapa en ssh-tunnel i skyddstunneln.
ssh -L 2222:127.0.0.1:22 mylogin@127.0.0.1
Använd VS Code för att ansluta till tunnelanslutningen.