Wie stelle ich die Standard-Shell auf WSL Bash ein, um per SSH von einer Windows 10-Maschine auf eine andere Windows 10-Maschine (VM) zuzugreifen?

Wie stelle ich die Standard-Shell auf WSL Bash ein, um per SSH von einer Windows 10-Maschine auf eine andere Windows 10-Maschine (VM) zuzugreifen?

Ich greife per SSH auf eine VM über die Windows-Befehlszeile und die WSL-Bash zu. Jedes Mal, wenn ich per SSH auf die Windows 10-VM zugreife (von meinem eigenen lokalen Windows 10-Computer aus), wird jedoch die standardmäßige Windows-Eingabeaufforderung als Shell geöffnet. Ich möchte, dass die WSL-Bash geöffnet wird, wenn ich SSH sowohl auf der Windows-Eingabeaufforderung als auch auf der WSL-Bash (auf meinem lokalen Computer) verwende. Sowohl auf meinem lokalen als auch auf meinem virtuellen Computer ist WSL installiert.

Ich habe Folgendes versucht: New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\bash.exe" -PropertyType String -Forcein der Windows Powershell als Administrator auszuführen, aber es funktioniert nicht. Ich bekomme nur dies zurück, allerdings ohne Änderungen:

DefaultShell : C:\Windows\System32\bash.exe
PSPath       : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSH
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE
PSChildName  : OpenSSH
PSDrive      : HKLM
PSProvider   : Microsoft.PowerShell.Core\Registry

UPDATE: Ich kann die Shell ändern, nachdem ich per SSH auf die Windows 10-VM zugegriffen habe, indem ich sie bash.exevon ausführe C:\Windows\System32. Allerdings wird sie beim ersten SSH immer noch als Standard-Windows-Befehlszeile gestartet.

Antwort1

Sie müssen denselben Befehl verwenden:

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\bash.exe" -PropertyType String -Force

auf der virtuellen Maschine mit Windows 10.

verwandte Informationen