Putty-ot lehet használni a WSL-es VM-jeihez is, azonban a WSL dinamikusan osztja az IP-ket a VM-eknek, kézzel meg nem jó móka belépegetni a VM-ekre..
Statikus IP kiosztására tudomásom szerint nincs lehetőség WSL-ben, azonban a következő powershell scripttel meg tudjuk nyitni automatán a powershell scriptünket:
$wslhostname=wsl -d UbuntuGIT --user $username hostname -I
wsl -d UbuntuGIT --user $username sudo service ssh start
Start-Process -Filepath "C:\Program Files\PuTTY\putty.exe" $username@$wslhostname
Ennyi az egész, három parancs, itt az történik hogy a script meghívja az adott WSL distro-t, azon belül lefuttatja a hostname -l parancsot, így megkapjuk az IP-t amit a putty-al már tudunk is hívni. Az ssh szolgáltatást azért kell elindítani manuálisan mert alapból a WSL-en nincs systemd. (innen viszont elméletileg installálható: WSL 2 - Enabling systemd · GitHub )
Extra, hogy gyorsan dupla kattintással futtassuk a powershell scriptet:
nyissuk meg a regeditet, keressük meg ezt az objektumot:
HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\open\command
a bejegyzést írjuk át notepad.exe-ről a következőre:
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -noLogo -ExecutionPolicy unrestricted -file "%1"
Ezután a powershell scriptjeinket már nem a notepad.exe fogja megnyitni, hanem azonnal lefutnak, vagyis a fenti Putty-os scriptünkre duplán kattintva azonnal indítunk egy terminált.
FIGYELEM! -executionPolicy unrestricted a legalacsonyabb biztonsági beállítás a powershell scriptekre vonatkozólag, produktív környezetekben nem ajánlott, és óvatosan kell kezelni.
Execution policy-kről angol nyelvű leírás: