Ansluta till en virtuell Linux-dator

När du är värd för en virtuell Linux-dator i Azure är den vanligaste metoden för att komma åt den virtuella datorn via SSH (Secure Shell Protocol). Med alla standard-SSH-klienter som vanligtvis finns i Linux och Windows kan du ansluta. Du kan också använda Azure Cloud Shell från valfri webbläsare.

Det här dokumentet beskriver hur du ansluter via SSH till en virtuell dator som har en offentlig IP-adress. Om du behöver ansluta till en virtuell dator utan en offentlig IP-adress kan du läsa Azure Bastion Service.

Förutsättningar

  • Du behöver ett SSH-nyckelpar. Om du inte redan har ett skapar Azure ett nyckelpar under distributionsprocessen. Om du behöver hjälp med att skapa ett manuellt kan du läsa Skapa och använda ett offentligt-privat SSH-nyckelpar för virtuella Linux-datorer i Azure.

  • Du behöver en befintlig nätverkssäkerhetsgrupp (NSG). De flesta virtuella datorer har en NSG som standard, men om du inte redan har en kan du skapa en och koppla den manuellt. Mer information finns i Skapa, ändra eller ta bort en nätverkssäkerhetsgrupp.

  • Om du vill ansluta till en virtuell Linux-dator behöver du rätt port öppen. Vanligtvis använder SSH port 22. Följande instruktioner förutsätter port 22, men processen är densamma för andra portnummer. Du kan verifiera att en lämplig port är öppen för SSH med hjälp av felsökaren eller genom att kontrollera manuellt i inställningarna för den virtuella datorn. Så här kontrollerar du om port 22 är öppen:

    1. På sidan för den virtuella datorn väljer du Nätverk på den vänstra menyn.

    2. På sidan Nätverk kontrollerar du om det finns en regel som tillåter TCP på port 22 från IP-adressen för den dator som du använder för att ansluta till den virtuella datorn. Om regeln finns kan du gå vidare till nästa avsnitt.

      Screenshot showing how to check to see if there's already a rule allowing S S H connections.

    3. Om det inte finns någon regel lägger du till en genom att välja Lägg till regel för inkommande port.

    4. För Tjänst väljer du SSH i listrutan.

      Screenshot showing where to choose S S H when creating a new N S G rule.

    5. Redigera prioritet och källa om det behövs

    6. Som Namn skriver du SSH.

    7. När du är klar väljer du Lägg till.

    8. Nu bör du ha en SSH-regel i tabellen med regler för inkommande portar.

  • Den virtuella datorn måste ha en offentlig IP-adress. Om du vill kontrollera om den virtuella datorn har en offentlig IP-adress väljer du Översikt på den vänstra menyn och tittar på avsnittet Nätverk . Om du ser en IP-adress bredvid offentlig IP-adress har den virtuella datorn en offentlig IP-adress

    Om den virtuella datorn inte har någon offentlig IP-adress ser det ut så här:

    Screenshot of how the networking section looks when you don't have a public I P.

    Mer information om hur du lägger till en offentlig IP-adress till en befintlig virtuell dator finns i Associera en offentlig IP-adress till en virtuell dator

  • Kontrollera att den virtuella datorn körs. På fliken Översikt i avsnittet Essentials kontrollerar du att den virtuella datorns status är Körs. Starta den virtuella datorn genom att välja Starta överst på sidan.

    Screenshot showing how to check to make sure your virtual machine is in the running state.

Om du har problem med att ansluta kan du också använda portalen:

  1. Gå till Azure-portalen för att ansluta till en virtuell dator. Sök efter och välj Virtuella datorer.
  2. Välj den virtuella datorn i listan.
  3. Välj Anslut på den vänstra menyn.
  4. Välj det alternativ som passar ditt önskade sätt att ansluta. Portalen hjälper dig att gå igenom förutsättningarna för att ansluta.

Ansluta till den virtuella datorn

När ovanstående förutsättningar är uppfyllda är du redo att ansluta till den virtuella datorn. Öppna valfri SSH-klient. SSH-klientkommandot ingår vanligtvis i Linux, macOS och Windows. Om du använder Windows 7 eller äldre, där Win32 OpenSSH inte ingår som standard, bör du överväga att installera WSL eller använda Azure Cloud Shell från webbläsaren.

Kommentar

I följande exempel förutsätts att SSH-nyckeln är i formatet key.pem. Om du använde CLI eller Azure PowerShell för att ladda ned dina nycklar kan de vara i id_rsa format.

SSH med ett nytt nyckelpar

  1. Kontrollera att dina offentliga och privata nycklar finns i rätt katalog. Katalogen är vanligtvis ~/.ssh.

    Om du genererade nycklar manuellt eller genererade dem med CLI finns nycklarna förmodligen redan där. Men om du laddade ned dem i pem-format från Azure-portalen kan du behöva flytta dem till rätt plats. Du flyttar nycklarna med följande syntax: mv PRIVATE_KEY_SOURCE PRIVATE_KEY_DESTINATION

    Om nyckeln till exempel finns i Downloads mappen och myKey.pem är namnet på din SSH-nyckel skriver du:

    mv /Downloads/myKey.pem ~/.ssh
    

    Kommentar

    Om du använder WSL finns lokala filer i mnt/c/ katalogen. Sökvägen till mappen för nedladdningar och SSH-nyckeln skulle därför vara /mnt/c/Users/{USERNAME}/Downloads/myKey.pem

  2. Kontrollera att du har skrivskyddad åtkomst till den privata nyckeln genom att köra

    chmod 400 ~/.ssh/myKey.pem
    
  3. Kör SSH-kommandot med följande syntax: ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP

    Om ditt azureuser till exempel är det användarnamn som du skapade och 20.51.230.13 är den offentliga IP-adressen för den virtuella datorn skriver du:

    ssh -i ~/.ssh/myKey.pem azureuser@20.51.230.13
    
  4. Verifiera det returnerade fingeravtrycket.

    Om du aldrig har anslutit till den här virtuella datorn tidigare uppmanas du att verifiera värdarnas fingeravtryck. Det är frestande att acceptera fingeravtrycket som presenteras, men det exponerar dig för en potentiell person i mittenattacken. Du bör alltid verifiera värdarnas fingeravtryck. Du behöver bara göra detta första gången du ansluter från en klient. Om du vill hämta värdfingret via portalen använder du funktionen Kör kommando för att köra kommandot:

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  5. Lyckades! Du bör nu vara ansluten till den virtuella datorn. Om du inte kan ansluta kan du läsa Felsöka SSH-anslutningar.

SSH med befintlig offentlig nyckel

  1. Kör följande kommando i SSH-klienten. I det här exemplet är 20.51.230.13 den offentliga IP-adressen för den virtuella datorn och azureuser är det användarnamn som du skapade när du skapade den virtuella datorn.

    ssh azureuser@20.51.230.13
    
  2. Verifiera det returnerade fingeravtrycket.

    Om du aldrig har anslutit till den önskade virtuella datorn från din aktuella SSH-klient innan du uppmanas att verifiera värdens fingeravtryck. Standardalternativet är att acceptera fingeravtrycket som visas, men du exponeras för en möjlig "person i mittenattacken". Du bör alltid verifiera värdens fingeravtryck, vilket bara behöver göras första gången klienten ansluter. Om du vill hämta värdfingret via portalen använder du funktionen Kör kommando för att köra kommandot:

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  3. Lyckades! Du bör nu vara ansluten till den virtuella datorn. Om du inte kan ansluta kan du läsa vår felsökningsguide.

Lösenordsverifiering

Varning

Den här typen av autentiseringsmetod är inte lika säker som ett SSH-nyckelpar och rekommenderas inte.

  1. Kör följande kommando i SSH-klienten. I det här exemplet är 20.51.230.13 den offentliga IP-adressen för den virtuella datorn och azureuser är det användarnamn som du skapade när du skapade den virtuella datorn.

    ssh azureuser@20.51.230.13
    

    Om du har glömt ditt lösenord eller användarnamn kan du läsa Återställa åtkomst till en virtuell Azure-dator

  2. Verifiera det returnerade fingeravtrycket.

    Om du aldrig har anslutit till den önskade virtuella datorn från din aktuella SSH-klient innan du uppmanas att verifiera värdens fingeravtryck. Standardalternativet är att acceptera fingeravtrycket som visas, men du exponeras för en möjlig "person i mittenattacken". Du bör alltid verifiera värdens fingeravtryck, vilket bara behöver göras första gången klienten ansluter. Om du vill hämta värdfingret via portalen använder du funktionen Kör kommando för att köra kommandot:

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  3. Lyckades! Du bör nu vara ansluten till den virtuella datorn. Om du inte kan ansluta kan du läsa Felsöka SSH-anslutningar.

Nästa steg

Lär dig hur du överför filer till en befintlig virtuell dator i Använda SCP för att flytta filer till och från en virtuell dator.