Windows SSH-Server - Shell-/Cmd-Zugriff deaktivieren

Windows SSH-Server - Shell-/Cmd-Zugriff deaktivieren

Ich habe den SSH-Server unter Windows mithilfe der integrierten Funktion aktiviert. Da dieser Server nur als Tunnel verwendet wird, möchte ich die Ausführung jeglicher Befehle deaktivieren.

Unter Linux scheint es möglich zu sein, die Shell auf /sbin/nologin einzustellen. Was wäre das Äquivalent auf einem Windows-Rechner?

Antwort1

Sie können die zu verwendende Shell-Programmdatei in der Windows-Version über die Registrierung angeben (Dokumentation). Beispielsweise können Sie Powershell wie folgt als Standard-Shell festlegen:

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

Mir ist jedoch keinekein LoginShell-Alternative in Windows. Als schnelle und einfache Problemumgehung habe ich mit der oben beschriebenen Methode eine Windows32-ausführbare Datei (sfc.exe) als „Shell“ festgelegt.

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

Auf diese Weise können Clients nur mit dem Schalter -N eine Verbindung herstellen, andernfalls wird die Verbindung sofort geschlossen. Beachten Sie, dass der SSH-Benutzer kein Administrator sein darf, damit er sfc.exe nicht tatsächlich ausführen kann. (Vielleicht gibt es eine bessere Wahl für eine Dummy-Shell als sfc.exe :P)

verwandte Informationen