Windows SSH Server - Отключить доступ Shell / Cmd

Я включил SSH Server в Windows, используя встроенную функцию. Поскольку этот сервер используется только в качестве туннеля, я хотел бы отключить выполнение любых команд.

В linux представляется возможным установить оболочку в / sbin / nologin. Что было бы эквивалентно на машине Windows?

0 ответов

Вы можете указать исполняемый файл оболочки для использования в версии Windows через реестр (документация). Например, вы можете установить powershell в качестве оболочки по умолчанию следующим образом:

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

Однако я не знаю ни одной альтернативы оболочки nologin в Windows. Что касается быстрого и грязного обходного пути, я установил исполняемый файл windows32 (sfc.exe) в качестве "оболочки", используя метод выше.

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

Таким образом, клиенты могут подключаться только с ключом -N, иначе соединение закрывается немедленно. Обратите внимание, что пользователь ssh не должен быть администратором, поэтому он не может запустить sfc.exe. (Возможно, есть лучший выбор для фиктивной оболочки, чем sfc.exe:P)

Другие вопросы по тегам