为 sftp 用户实现 chroot 目录

win*_*016 5 openssh

我在 Windows 2012 环境中运行 OpenSSH64。OpenSSH64 正在运行,我可以访问服务器。我修改了sshd_config文件但没有成功。

我进行了以下更改:

Subsystem sftp C:\OpenSSH-Win64\sftp-server.exe 

Match User sftponly-user 
X11Forwarding no 
AllowTcpForwarding no 
ForceCommand internal-sftp 
ChrootDirectory %h 
Run Code Online (Sandbox Code Playgroud)

我也试过

ChrootDirectory C:\User_Specific_Directory\ 
Run Code Online (Sandbox Code Playgroud)

我们正在尝试生成日志以验证我们在sshd_config文件中所做的更改是否正在应用。但是,我们在日志中收到以下错误:

3784 11:00:17 087 error: accept: The operation completed successfully. 
Run Code Online (Sandbox Code Playgroud)

有没有人有chrooting用户到特定目录的工作示例?

EM0*_*EM0 0

此功能尚未在 OpenSSH for Windows 中实现(主要是因为它很难): https: //github.com/PowerShell/Win32-OpenSSH/issues/190

  • 仅供参考,在 v7.7.0.0 中添加了支持 (https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_server_configuration#chrootdirectory-support-added-in-v7700) (2认同)