Dela via


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.

Diagrammet visar en anslutning via den interna klienten.

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:

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:

  1. Logga in på ditt Azure-konto med .az login Om du har fler än en prenumeration kan du visa dem med och az account list välja den prenumeration som innehåller din Bastion-resurs med hjälp av az account set --subscription "<subscription ID>".

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

  1. 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
    
  2. 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
    
  3. Skapa en ssh-tunnel i skyddstunneln.

    ssh -L 2222:127.0.0.1:22 mylogin@127.0.0.1
    
  4. Använd VS Code för att ansluta till tunnelanslutningen.

Nästa steg

Ladda upp eller ladda ned filer