Dela via


Detaljerade SSH-felsökningssteg för problem med anslutning till en virtuell Linux-dator i Azure

Gäller för: ✔️ Virtuella Linux-datorer

Det finns många möjliga orsaker till att SSH-klienten kanske inte kan nå SSH-tjänsten på den virtuella datorn. Om du har följt de mer allmänna SSH-felsökningsstegen måste du felsöka anslutningsproblemet ytterligare. Den här artikeln vägleder dig genom detaljerade felsökningssteg för att avgöra var SSH-anslutningen misslyckas och hur du löser den.

Vidta preliminära åtgärder

Följande diagram visar de komponenter som ingår.

Diagram som visar komponenter i SSH-tjänsten.

Följande steg hjälper dig att isolera orsaken till felet och ta reda på lösningar eller lösningar.

  1. Kontrollera statusen för den virtuella datorn i portalen. I Azure Portal väljer du Vm-namn för virtuella datorer>.

    Statusfönstret för den virtuella datorn ska visa Körs. Rulla nedåt för att visa den senaste aktiviteten för beräknings-, lagrings- och nätverksresurser.

  2. Välj Inställningar för att undersöka slutpunkter, IP-adresser, nätverkssäkerhetsgrupper och andra inställningar.

    Den virtuella datorn ska ha en slutpunkt definierad för SSH-trafik som du kan visa i slutpunkter eller nätverkssäkerhetsgrupp. Slutpunkter i virtuella datorer som skapades med hjälp av Resource Manager lagras i en nätverkssäkerhetsgrupp. Kontrollera att reglerna har tillämpats på nätverkssäkerhetsgruppen och refereras i undernätet.

Kontrollera nätverksanslutningen genom att kontrollera de konfigurerade slutpunkterna och se om du kan ansluta till den virtuella datorn via ett annat protokoll, till exempel HTTP eller en annan tjänst.

Efter de här stegen provar du SSH-anslutningen igen.

Hitta källan till problemet

SSH-klienten på datorn kan misslyckas med att ansluta till SSH-tjänsten på den virtuella Azure-datorn på grund av problem eller felkonfigurationer inom följande områden:

Källa 1: SSH-klientdator

Om du vill eliminera datorn som källa till felet kontrollerar du att den kan göra SSH-anslutningar till en annan lokal Linux-baserad dator.

Diagram som markerar SSH-klientdatorkomponenter.

Om anslutningen misslyckas kontrollerar du följande problem på datorn:

  • En lokal brandväggsinställning som blockerar inkommande eller utgående SSH-trafik (TCP 22)
  • Lokalt installerad klientproxyprogramvara som förhindrar SSH-anslutningar
  • Lokalt installerad programvara för nätverksövervakning som förhindrar SSH-anslutningar
  • Andra typer av säkerhetsprogram som antingen övervakar trafik eller tillåter/tillåter specifika typer av trafik

Om något av dessa villkor gäller inaktiverar du programvaran tillfälligt och provar en SSH-anslutning till en lokal dator för att ta reda på orsaken till att anslutningen blockeras på datorn. Arbeta sedan med nätverksadministratören för att korrigera programvaruinställningarna så att SSH-anslutningar tillåts.

Om du använder certifikatautentisering kontrollerar du att du har dessa behörigheter till .ssh-mappen i din hemkatalog:

  • Chmod 700 ~/.ssh
  • Chmod 644 ~/.ssh/*.pub
  • Chmod 600 ~/.ssh/id_rsa (eller andra filer som har dina privata nycklar lagrade i dem)
  • Chmod 644 ~/.ssh/known_hosts (innehåller värdar som du har anslutit till via SSH)

Källa 2: Organisationsgränsenhet

Om du vill eliminera din organisations gränsenhet som källa till felet kontrollerar du att en dator som är direkt ansluten till Internet kan göra SSH-anslutningar till din virtuella Azure-dator. Om du kommer åt den virtuella datorn via ett plats-till-plats-VPN eller en Azure ExpressRoute-anslutning går du vidare till Källa 3: Nätverkssäkerhetsgrupper.

Diagram som visar organisationens gränsenhet.

Om du inte har en dator som är direkt ansluten till Internet skapar du en ny virtuell Azure-dator i en egen resursgrupp eller molntjänst och använder den nya virtuella datorn. Mer information finns i Skapa en virtuell dator som kör Linux i Azure. Ta bort resursgruppen eller den virtuella datorn och molntjänsten när du är klar med testningen.

Om du kan skapa en SSH-anslutning med en dator som är direkt ansluten till Internet kontrollerar du organisationens gränsenhet för:

  • En intern brandvägg som blockerar SSH-trafik med Internet
  • En proxyserver som förhindrar SSH-anslutningar
  • Intrångsidentifiering eller nätverksövervakningsprogram som körs på enheter i ditt gränsnätverk som förhindrar SSH-anslutningar

Arbeta med nätverksadministratören för att korrigera inställningarna för organisationens gränsenheter så att SSH-trafik med Internet tillåts.

Källa 3: Nätverkssäkerhetsgrupper

Med nätverkssäkerhetsgrupper kan du ha mer detaljerad kontroll över tillåten inkommande och utgående trafik. Du kan skapa regler som omfattar undernät och molntjänster i ett virtuellt Azure-nätverk. Kontrollera reglerna för nätverkssäkerhetsgruppen för att se till att SSH-trafik till och från Internet tillåts. Mer information finns i Om nätverkssäkerhetsgrupper.

Du kan också använda IP Verify för att verifiera NSG-konfigurationen. Mer information finns i Översikt över Nätverksövervakning i Azure.

Källa 4: Linux-baserad virtuell Azure-dator

Den sista källan till möjliga problem är själva den virtuella Azure-datorn.

Diagram som visar en Linux-baserad virtuell Azure-dator.

Om du inte redan har gjort det följer du anvisningarna för att återställa ett lösenord för Linux-baserade virtuella datorer.

Försök att ansluta från datorn igen. Om det fortfarande misslyckas är följande några av de möjliga problemen:

  • SSH-tjänsten körs inte på den virtuella måldatorn.
  • SSH-tjänsten lyssnar inte på TCP-port 22. Om du vill testa installerar du en telnet-klient på den lokala datorn och kör "telnet cloudServiceName.cloudapp.net 22". Det här steget avgör huruvida den virtuella datorn tillåter inkommande och utgående kommunikation till SSH-slutpunkten.
  • Den lokala brandväggen på den virtuella måldatorn har regler som förhindrar inkommande eller utgående SSH-trafik.
  • Intrångsidentifiering eller nätverksövervakningsprogram som körs på den virtuella Azure-datorn förhindrar SSH-anslutningar.

Ytterligare resurser

Mer information om hur du felsöker programåtkomst finns i Felsöka åtkomst till ett program som körs på en virtuell Azure-dator.

Kontakta oss för att få hjälp

Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.