
내장된 기능을 사용하여 Windows에서 SSH 서버를 활성화했습니다. 이 서버는 터널로만 사용되고 있으므로 모든 명령이 실행되지 않도록 하고 싶습니다.
Linux에서는 쉘을 /sbin/nologin으로 설정하는 것이 가능한 것으로 보입니다. Windows 시스템에서 이에 해당하는 것은 무엇입니까?
답변1
레지스트리(선적 서류 비치). 예를 들어 다음과 같이 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)을 "shell"로 설정했습니다.
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\sfc.exe" -PropertyType String -Force
이러한 방식으로 클라이언트는 -N 스위치를 통해서만 연결할 수 있습니다. 그렇지 않으면 연결이 즉시 닫힙니다. ssh 사용자는 관리자가 아니어야 하므로 실제로 sfc.exe를 실행할 수 없습니다. (어쩌면 sfc.exe보다 더미 쉘을 위한 더 나은 선택이 있을 수도 있습니다 :P)