如何为 Windows SFTP(OpenSSH)用户获取该用户的唯一目录

如何为 Windows SFTP(OpenSSH)用户获取该用户的唯一目录

我有一个安装有 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 以及其他用户的一切都正常运行。

相关内容