Verbinding maken met een Linux-VM
Bij het hosten van een virtuele Linux-machine in Azure is de meest voorkomende methode voor toegang tot die VM via het Secure Shell Protocol (SSH). Met elke standaard-SSH-client die vaak in Linux en Windows wordt gevonden, kunt u verbinding maken. U kunt Azure Cloud Shell ook gebruiken vanuit elke browser.
In dit document wordt beschreven hoe u via SSH verbinding maakt met een virtuele machine met een openbaar IP-adres. Als u verbinding wilt maken met een virtuele machine zonder een openbaar IP-adres, raadpleegt u De Azure Bastion-service.
Vereisten
U hebt een SSH-sleutelpaar nodig. Als u er nog geen hebt, maakt Azure een sleutelpaar tijdens het implementatieproces. Als u hulp nodig hebt bij het handmatig maken, raadpleegt u Een openbaar-persoonlijk SSH-sleutelpaar maken en gebruiken voor Virtuele Linux-machines in Azure.
U hebt een bestaande netwerkbeveiligingsgroep (NSG) nodig. De meeste VM's hebben standaard een NSG, maar als u er nog geen hebt, kunt u er een maken en deze handmatig koppelen. Zie Een netwerkbeveiligingsgroep maken, wijzigen of verwijderen voor meer informatie.
Als u verbinding wilt maken met een Virtuele Linux-machine, moet u de juiste poort openen. SSH maakt doorgaans gebruik van poort 22. In de volgende instructies wordt uitgegaan van poort 22, maar het proces is hetzelfde voor andere poortnummers. U kunt controleren of er een geschikte poort is geopend voor SSH met behulp van de probleemoplosser of door handmatig in uw VM-instellingen te controleren. Ga als volgt te werk om te controleren of poort 22 is geopend:
Selecteer Netwerken in het linkermenu op de pagina voor de VIRTUELE machine.
Controleer op de pagina Netwerken of er een regel is die TCP toestaat op poort 22 van het IP-adres van de computer die u gebruikt om verbinding te maken met de virtuele machine. Als de regel bestaat, kunt u naar de volgende sectie gaan.
Als er geen regel is, voegt u er een toe door een regel voor binnenkomende poort toevoegen te selecteren.
Selecteer voor Service SSH in de vervolgkeuzelijst.
Prioriteit en bron bewerken indien nodig
Bij Naam typt u SSH.
Wanneer u klaar bent, selecteert u Toevoegen.
U moet nu een SSH-regel hebben in de tabel met regels voor binnenkomende poorten.
Uw VIRTUELE machine moet een openbaar IP-adres hebben. Als u wilt controleren of uw VIRTUELE machine een openbaar IP-adres heeft, selecteert u Overzicht in het linkermenu en bekijkt u de sectie Netwerken. Als u een IP-adres naast een openbaar IP-adres ziet, heeft uw VM een openbaar IP-adres
Als uw VIRTUELE machine geen openbaar IP-adres heeft, ziet dit er als volgt uit:
Controleer of uw VIRTUELE machine wordt uitgevoerd. Controleer op het tabblad Overzicht in de sectie Essentials of de status van de virtuele machine wordt uitgevoerd. Als u de VIRTUELE machine wilt starten, selecteert u Beginnen boven aan de pagina.
Als u problemen ondervindt bij het maken van verbinding, kunt u ook de portal gebruiken:
- Ga naar Azure Portal om verbinding te maken met een virtuele machine. Zoek en selecteer virtuele machines.
- Selecteer de virtuele machine in de lijst.
- Selecteer Verbinding maken in het linkermenu.
- Selecteer de optie die past bij de manier waarop u verbinding wilt maken. De portal helpt u bij het doorlopen van de vereisten voor het maken van verbinding.
Verbinding maken met de VM
Zodra aan de bovenstaande vereisten is voldaan, kunt u verbinding maken met uw virtuele machine. Open de gewenste SSH-client. De SSH-clientopdracht is doorgaans opgenomen in Linux, macOS en Windows. Als u Windows 7 of ouder gebruikt, waarbij Win32 OpenSSH niet standaard is opgenomen, kunt u overwegen WSL te installeren of Azure Cloud Shell vanuit de browser te gebruiken.
Notitie
In de volgende voorbeelden wordt ervan uitgegaan dat de SSH-sleutel de indeling key.pem heeft. Als u CLI of Azure PowerShell hebt gebruikt om uw sleutels te downloaden, zijn deze mogelijk in de id_rsa- of ED25519-indeling.
SSH met een nieuw sleutelpaar
Zorg ervoor dat uw openbare en persoonlijke sleutels zich in de juiste map bevinden. De map is meestal
~/.ssh
.Als u sleutels handmatig hebt gegenereerd of met de CLI hebt gegenereerd, zijn de sleutels waarschijnlijk al aanwezig. Als u ze echter hebt gedownload in pem-indeling vanuit Azure Portal, moet u ze mogelijk naar de juiste locatie verplaatsen. Het verplaatsen van de sleutels wordt uitgevoerd met de volgende syntaxis:
mv PRIVATE_KEY_SOURCE PRIVATE_KEY_DESTINATION
Als de sleutel zich bijvoorbeeld in de
Downloads
map bevindt enmyKey.pem
de naam van uw SSH-sleutel is, typt u:mv /Downloads/myKey.pem ~/.ssh
Notitie
Als u WSL gebruikt, vindt u lokale bestanden in de
mnt/c/
map. Daarom is het pad naar de map downloads en de SSH-sleutel/mnt/c/Users/{USERNAME}/Downloads/myKey.pem
Zorg ervoor dat u alleen-lezentoegang hebt tot de persoonlijke sleutel door deze uit te voeren
chmod 400 ~/.ssh/myKey.pem
Voer de SSH-opdracht uit met de volgende syntaxis:
ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP
Als u
azureuser
bijvoorbeeld de gebruikersnaam bent die u hebt gemaakt en20.51.230.13
het openbare IP-adres van uw VIRTUELE machine is, typt u:ssh -i ~/.ssh/myKey.pem azureuser@20.51.230.13
Valideer de geretourneerde vingerafdruk.
Als u nog nooit verbinding hebt gemaakt met deze VIRTUELE machine, wordt u gevraagd om de vingerafdruk van de hosts te verifiëren. Het is verleidelijk om de gepresenteerde vingerafdruk te accepteren, maar dat stelt u bloot aan een potentiële persoon in de middelste aanval. U moet altijd de vingerafdruk van de hosts valideren. U hoeft dit alleen te doen wanneer u voor het eerst verbinding maakt vanaf een client. Als u de vingerafdruk van de host via de portal wilt ophalen, gebruikt u de functie Opdracht uitvoeren om de opdracht uit te voeren:
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
Gelukt! U moet nu zijn verbonden met uw virtuele machine. Zie Problemen met SSH-verbindingen oplossen als u geen verbinding kunt maken.
SSH met bestaande openbare sleutel
Voer de volgende opdracht uit in uw SSH-client. In dit voorbeeld is 20.51.230.13 het openbare IP-adres van uw VIRTUELE machine en azureuser de gebruikersnaam die u hebt gemaakt toen u de VIRTUELE machine maakte.
ssh azureuser@20.51.230.13
Valideer de geretourneerde vingerafdruk.
Als u nog nooit verbinding hebt gemaakt met de gewenste VM vanaf uw huidige SSH-client voordat u wordt gevraagd om de vingerafdruk van de host te verifiëren. Hoewel de standaardoptie is om de gepresenteerde vingerafdruk te accepteren, wordt u blootgesteld aan een mogelijke 'persoon in de middelste aanval'. U moet altijd de vingerafdruk van de host valideren. Dit hoeft alleen te gebeuren wanneer de client voor het eerst verbinding maakt. Als u de vingerafdruk van de host via de portal wilt ophalen, gebruikt u de functie Opdracht uitvoeren om de opdracht uit te voeren:
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
Gelukt! U moet nu zijn verbonden met uw virtuele machine. Als u geen verbinding kunt maken, raadpleegt u onze gids voor probleemoplossing.
Wachtwoordverificatie
Waarschuwing
Dit type verificatiemethode is niet zo veilig als een SSH-sleutelpaar en wordt niet aanbevolen.
Voer de volgende opdracht uit in uw SSH-client. In dit voorbeeld is 20.51.230.13 het openbare IP-adres van uw VIRTUELE machine en azureuser de gebruikersnaam die u hebt gemaakt toen u de VIRTUELE machine maakte.
ssh azureuser@20.51.230.13
Als u uw wachtwoord of gebruikersnaam bent vergeten, raadpleegt u Opnieuw instellen van toegang tot een Azure-VM
Valideer de geretourneerde vingerafdruk.
Als u nog nooit verbinding hebt gemaakt met de gewenste VM vanaf uw huidige SSH-client voordat u wordt gevraagd om de vingerafdruk van de host te verifiëren. Hoewel de standaardoptie is om de gepresenteerde vingerafdruk te accepteren, wordt u blootgesteld aan een mogelijke 'persoon in de middelste aanval'. U moet altijd de vingerafdruk van de host valideren. Dit hoeft alleen te gebeuren wanneer de client voor het eerst verbinding maakt. Als u de vingerafdruk van de host via de portal wilt ophalen, gebruikt u de functie Opdracht uitvoeren om de opdracht uit te voeren:
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
Gelukt! U moet nu zijn verbonden met uw virtuele machine. Zie Problemen met SSH-verbindingen oplossen als u geen verbinding kunt maken.
Volgende stappen
Meer informatie over het overdragen van bestanden naar een bestaande VIRTUELE machine, zie SCP gebruiken om bestanden naar en van een VIRTUELE machine te verplaatsen.