Назад | Перейти на главную страницу

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

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

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

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

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

Однако я не знаю ни одного нологин Альтернатива оболочки в 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)