Delen via


Verbinding maken met behulp van Secure Shell (SSH) en aanmelden bij een virtuele Azure-machine met Windows

Van toepassing op: ✔️ Flexibele schaalsets voor Windows-VM's ✔️

Het Win32 OpenSSH-project maakt externe connectiviteit met Secure Shell alomtegenwoordig door systeemeigen ondersteuning te bieden in Windows. De mogelijkheid is beschikbaar in Windows Server versie 2019 en hoger en kan worden toegevoegd aan oudere versies van Windows met behulp van een VM-extensie (virtuele machine).

In de onderstaande voorbeelden worden variabelen gebruikt. U kunt variabelen in uw omgeving als volgt instellen.

Shell Opmerking
Bash/ZSH myResourceGroup='resGroup10'
Powershell $myResourceGroup='resGroup10'

SSH inschakelen

Eerst moet u SSH inschakelen op uw Windows-computer.

Implementeer de SSH-extensie voor Windows. De extensie biedt een geautomatiseerde installatie van de Win32 OpenSSH-oplossing, vergelijkbaar met het inschakelen van de mogelijkheid in nieuwere versies van Windows. Gebruik de volgende voorbeelden om de extensie te implementeren.

az vm extension set --resource-group $myResourceGroup --vm-name $myVM --name WindowsOpenSSH --publisher Microsoft.Azure.OpenSSH --version 3.0

TCP-poort openen

Zorg ervoor dat de juiste poort (standaard TCP 22) is geopend om connectiviteit met de VIRTUELE machine toe te staan.

az network nsg rule create -g $myResourceGroup --nsg-name $myNSG -n allow-SSH --priority 1000 --source-address-prefixes 208.130.28.4/32 --destination-port-ranges 22 --protocol TCP

Verificatie

U kunt zich verifiëren bij Windows-computers met behulp van gebruikersnaam en wachtwoord of SSH-sleutels. Azure biedt geen ondersteuning voor het automatisch inrichten van openbare sleutels voor Windows-computers, maar u kunt de sleutel kopiëren met de extensie RunCommand.

Overzicht van SSH en sleutels

SSH is een versleuteld verbindingsprotocol dat beveiligde aanmeldingen biedt via onbeveiligde verbindingen. Hoewel SSH een versleutelde verbinding biedt, blijft het gebruik van wachtwoorden met SSH-verbindingen de VM kwetsbaar voor beveiligingsaanvallen. U wordt aangeraden verbinding te maken met een virtuele machine via SSH met behulp van een openbaar-persoonlijk sleutelpaar, ook wel SSH-sleutels genoemd.

  • De openbare sleutel wordt op uw VIRTUELE machine geplaatst.

  • De persoonlijke sleutel blijft op uw lokale systeem staan. Houd deze privésleutel geheim. Deel deze niet.

Wanneer u een SSH-client gebruikt om verbinding te maken met uw virtuele machine (met de openbare sleutel), test de externe VM de client om ervoor te zorgen dat deze de juiste persoonlijke sleutel heeft. Als de client de persoonlijke sleutel heeft, krijgt deze toegang tot de virtuele machine.

Afhankelijk van het beveiligingsbeleid van uw organisatie, kunt u één openbaar-persoonlijk sleutelpaar opnieuw gebruiken voor toegang tot meerdere Virtuele Azure-machines en -services. U hebt geen afzonderlijk paar sleutels nodig voor elke VIRTUELE machine of service die u wilt openen.

Uw openbare sleutel kan met iedereen worden gedeeld, maar alleen u (of uw lokale beveiligingsinfrastructuur) moet toegang hebben tot uw persoonlijke sleutel.

Ondersteunde SSH-sleutelindelingen

Azure ondersteunt momenteel de volgende sleuteltypen:

  • SSH-protocol 2 (SSH-2) RSA (Klinknagel, Shamir, Adleman) met een minimale lengte van 2048 bits
  • ED25519 sleutels met een vaste lengte van 256 bits

Andere belangrijke indelingen, zoals Elliptic-curve Diffie–Hellman (ECDH) en Elliptic Curve Digital Signature Algorithm (ECDSA) worden momenteel niet ondersteund.

Kopieer een openbare sleutel met de extensie RunCommand.

De Extensie RunCommand biedt een eenvoudige oplossing voor het kopiëren van een openbare sleutel naar Windows-computers en het controleren of het bestand over de juiste machtigingen beschikt.

az vm run-command invoke -g $myResourceGroup -n $myVM --command-id RunPowerShellScript --scripts "MYPUBLICKEY | Add-Content 'C:\ProgramData\ssh\administrators_authorized_keys' -Encoding UTF8;icacls.exe 'C:\ProgramData\ssh\administrators_authorized_keys' /inheritance:r /grant 'Administrators:F' /grant 'SYSTEM:F'"

Verbinding maken met behulp van Az CLI

Verbinding maken met Windows-computers met behulp van Az SSH opdrachten.

az ssh vm  -g $myResourceGroup -n $myVM --local-user $myUsername

Het is ook mogelijk om een netwerktunnel te maken voor specifieke TCP-poorten via de SSH-verbinding. Een goed gebruiksvoorbeeld hiervoor is Extern bureaublad dat standaard poort 3389 is.

az ssh vm  -g $myResourceGroup -n $myVM --local-user $myUsername -- -L 3389:localhost:3389

Verbinding maken vanuit Azure Portal

  1. Ga naar Azure Portal om verbinding te maken met een virtuele machine. Zoek en selecteer virtuele machines.
  2. Selecteer de virtuele machine in de lijst.
  3. Selecteer Verbinding maken in het linkermenu.
  4. 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.

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.