Delen via


Gedetailleerde SSH-stappen voor probleemoplossing voor problemen met het maken van verbinding met een Linux-VM in Azure

Er zijn veel mogelijke redenen waarom de SSH-client de SSH-service op de VM mogelijk niet kan bereiken. Als u de meer algemene stappen voor SSH-probleemoplossing hebt gevolgd, moet u het verbindingsprobleem verder oplossen. In dit artikel wordt u begeleid bij gedetailleerde stappen voor probleemoplossing om te bepalen waar de SSH-verbinding mislukt en hoe u deze kunt oplossen.

Voorbereidende stappen uitvoeren

In het volgende diagram ziet u de betrokken onderdelen.

Diagram met onderdelen van de SSH-service.

Met de volgende stappen kunt u de bron van de fout isoleren en oplossingen of tijdelijke oplossingen vinden.

  1. Controleer de status van de VM in de portal. Selecteer virtuele machines>VM-naamin de Azure Portal.

    In het statusvenster voor de VM moet Worden uitgevoerd worden weergegeven. Schuif omlaag om recente activiteit voor reken-, opslag- en netwerkresources weer te geven.

  2. Selecteer Instellingen om eindpunten, IP-adressen, netwerkbeveiligingsgroepen en andere instellingen te onderzoeken.

    De VM moet een eindpunt hebben dat is gedefinieerd voor SSH-verkeer dat u kunt weergeven in Eindpunten ofNetwerkbeveiligingsgroep. Eindpunten in VM's die zijn gemaakt met behulp van Resource Manager, worden opgeslagen in een netwerkbeveiligingsgroep. Controleer of de regels zijn toegepast op de netwerkbeveiligingsgroep en worden verwezen in het subnet.

Als u de netwerkverbinding wilt controleren, controleert u de geconfigureerde eindpunten en kijkt u of u verbinding kunt maken met de VM via een ander protocol, zoals HTTP of een andere service.

Probeer na deze stappen de SSH-verbinding opnieuw.

De bron van het probleem zoeken

De SSH-client op uw computer kan mogelijk geen verbinding maken met de SSH-service op de Azure-VM vanwege problemen of onjuiste configuraties in de volgende gebieden:

Bron 1: SSH-clientcomputer

Als u de computer wilt elimineren als de bron van de fout, controleert u of deze SSH-verbindingen kan maken met een andere on-premises, Linux-computer.

Diagram waarin onderdelen van de SSH-clientcomputer worden gemarkeerd.

Als de verbinding mislukt, controleert u op de volgende problemen op uw computer:

  • Een lokale firewallinstelling die inkomend of uitgaand SSH-verkeer blokkeert (TCP 22)
  • Lokaal geïnstalleerde clientproxysoftware die SSH-verbindingen verhindert
  • Lokaal geïnstalleerde netwerkbewakingssoftware die SSH-verbindingen verhindert
  • Andere typen beveiligingssoftware die verkeer bewaken of specifieke typen verkeer toestaan/weigeren

Als een van deze voorwaarden van toepassing is, schakelt u de software tijdelijk uit en probeert u een SSH-verbinding met een on-premises computer om erachter te komen waarom de verbinding op uw computer wordt geblokkeerd. Neem vervolgens contact op met uw netwerkbeheerder om de software-instellingen te corrigeren om SSH-verbindingen toe te staan.

Als u certificaatverificatie gebruikt, controleert u of u deze machtigingen hebt voor de map .ssh in uw basismap:

  • Chmod 700 ~/.ssh
  • Chmod 644 ~/.ssh/*.pub
  • Chmod 600 ~/.ssh/id_rsa (of andere bestanden waarin uw persoonlijke sleutels zijn opgeslagen)
  • Chmod 644 ~/.ssh/known_hosts (bevat hosts waarmee u verbinding hebt gemaakt via SSH)

Bron 2: Edge-apparaat van organisatie

Als u het edge-apparaat van uw organisatie wilt elimineren als de bron van de fout, controleert u of een computer die rechtstreeks is verbonden met internet SSH-verbindingen kan maken met uw Azure-VM. Als u toegang hebt tot de VM via een site-naar-site-VPN of een Azure ExpressRoute-verbinding, gaat u naar Bron 4: Netwerkbeveiligingsgroepen.

Diagram waarin het edge-apparaat van de organisatie wordt gemarkeerd.

Als u geen computer hebt die rechtstreeks is verbonden met internet, maakt u een nieuwe Azure-VM in een eigen resourcegroep of cloudservice en gebruikt u die nieuwe VM. Zie Een virtuele machine met Linux maken in Azure voor meer informatie. Verwijder de resourcegroep of VM en cloudservice wanneer u klaar bent met het testen.

Als u een SSH-verbinding kunt maken met een computer die rechtstreeks is verbonden met internet, controleert u het edge-apparaat van uw organisatie op:

  • Een interne firewall die SSH-verkeer met internet blokkeert
  • Een proxyserver die SSH-verbindingen verhindert
  • Inbraakdetectie of netwerkbewakingssoftware die wordt uitgevoerd op apparaten in uw edge-netwerk die SSH-verbindingen verhindert

Neem contact op met de netwerkbeheerder om de instellingen van de edge-apparaten van uw organisatie te corrigeren om SSH-verkeer via internet toe te staan.

Bron 3: Cloudservice-eindpunt en ACL

Belangrijk

Klassieke VM's worden op 1 september 2023 buiten gebruik gesteld

Als u IaaS-resources van ASM gebruikt, moet u de migratie voor 1 september 2023 voltooien. We raden u aan om sneller over te schakelen om te profiteren van de vele functieverbeteringen in Azure Resource Manager.

Zie Uw IaaS-resources migreren naar Azure Resource Manager op 1 september 2023 voor meer informatie.

Opmerking

Deze bron is alleen van toepassing op VM's die zijn gemaakt met behulp van het klassieke implementatiemodel. Voor VM's die zijn gemaakt met behulp van Resource Manager, gaat u naar bron 4: Netwerkbeveiligingsgroepen.

Als u het cloudservice-eindpunt en de ACL als bron van de fout wilt elimineren, controleert u of een andere Azure-VM in hetzelfde virtuele netwerk verbinding kan maken met behulp van SSH.

Diagram waarin cloudservice-eindpunt en ACL worden gemarkeerd.

Als u geen andere virtuele machine in hetzelfde virtuele netwerk hebt, kunt u er eenvoudig een maken. Zie Een Virtuele Linux-machine maken in Azure met behulp van de CLI voor meer informatie. Verwijder de extra VM wanneer u klaar bent met het testen.

Als u een SSH-verbinding kunt maken met een virtuele machine in hetzelfde virtuele netwerk, controleert u de volgende gebieden:

  • De eindpuntconfiguratie voor SSH-verkeer op de doel-VM. De privé-TCP-poort van het eindpunt moet overeenkomen met de TCP-poort waarop de SSH-service op de VM luistert. (De standaardpoort is 22). Controleer het SSH TCP-poortnummer in de Azure Portal door Virtuele machines>VM-naam>Instellingen>Eindpunten te selecteren.
  • De ACL voor het eindpunt van het SSH-verkeer op de virtuele doelmachine. Met een ACL kunt u toegestaan of geweigerd binnenkomend verkeer van internet opgeven op basis van het bron-IP-adres. Onjuist geconfigureerde ACL's kunnen binnenkomend SSH-verkeer naar het eindpunt voorkomen. Controleer uw ACL's om ervoor te zorgen dat binnenkomend verkeer van de openbare IP-adressen van uw proxy of andere edge-server is toegestaan. Zie Over netwerktoegangsbeheerlijsten (ACL's) voor meer informatie.

Als u het eindpunt wilt elimineren als bron van het probleem, verwijdert u het huidige eindpunt, maakt u een ander eindpunt en geeft u de SSH-naam op (TCP-poort 22 voor het openbare en persoonlijke poortnummer). Zie Eindpunten instellen op een virtuele machine in Azure voor meer informatie.

Bron 4: Netwerkbeveiligingsgroepen

Met netwerkbeveiligingsgroepen hebt u gedetailleerdere controle over het toegestane binnenkomende en uitgaande verkeer. U kunt regels maken voor subnetten en cloudservices in een virtueel Azure-netwerk. Controleer de regels van uw netwerkbeveiligingsgroep om ervoor te zorgen dat SSH-verkeer van en naar internet is toegestaan. Zie Over netwerkbeveiligingsgroepen voor meer informatie.

U kunt ook IP Verify gebruiken om de NSG-configuratie te valideren. Zie Overzicht van Azure-netwerkbewaking voor meer informatie.

Bron 5: Virtuele Azure-machine op basis van Linux

De laatste bron van mogelijke problemen is de virtuele Azure-machine zelf.

Diagram waarin de virtuele Linux-machine van Azure wordt gemarkeerd.

Als u dit nog niet hebt gedaan, volgt u de instructies voor het opnieuw instellen van een wachtwoord voor virtuele Linux-machines.

Probeer opnieuw verbinding te maken vanaf uw computer. Als het nog steeds mislukt, zijn de volgende mogelijke problemen:

  • De SSH-service wordt niet uitgevoerd op de virtuele doelmachine.
  • De SSH-service luistert niet op TCP-poort 22. Als u wilt testen, installeert u een telnet-client op uw lokale computer en voert u 'telnet cloudServiceName.cloudapp.net 22' uit. Deze stap bepaalt of de virtuele machine binnenkomende en uitgaande communicatie naar het SSH-eindpunt toestaat.
  • De lokale firewall op de virtuele doelmachine heeft regels die inkomend of uitgaand SSH-verkeer voorkomen.
  • Inbraakdetectie of netwerkbewakingssoftware die wordt uitgevoerd op de virtuele Azure-machine verhindert SSH-verbindingen.

Aanvullende bronnen

Zie Problemen oplossen met toegang tot een toepassing die wordt uitgevoerd op een virtuele Azure-machine voor meer informatie over het oplossen van problemen met toegang tot toepassingen.

Contacteer ons voor hulp

Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Feedback-community van Azure.