我有一个安装有 OpenSSH 版本 7.7 的 Windows 2019 服务器:
$ ssh -V
OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5
我想为每个用户提供他们自己的目录;我有一个用户 [ fti
] 并希望他们使用:
D:\inetpub\ftproot\LDNClient\Import\fti
- 我有
sshd_config
:Subsystem sftp internal-sftp ... Match User fti ChrootDirectory d:\inetpub\ftproot\ldnclient\Import\fti ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
- 我试过
ChrootDirectory d:\inetpub\ftproot\ldnclient\Import\fti
前Match User fti
,它可以传输文件,但总体来说行不通,因为我有其他用户需要他们自己的目录
- 我试过
除上述内容外,打开 Filezilla 时,我看到目录c:\users\fti
。每次更改配置后我都会重新启动 OpenSSH,目录确实存在,具有完全权限,且归 所拥有fti
;使用计算机管理的用户属性中没有指定目录。
我做错什么了?
答案1
解决方案是使用不同的子系统命令,该命令指向 Windows 目录中的 sftp-server.exe,例如:
Subsystem sftp sftp-server.exe -d C:\Windows\System32\OpenSSH
做出该更改之后,fti 以及其他用户的一切都正常运行。