我通过将 /etc/ssh/sshd_config 文件设置为类似这样的内容来为 sftp 指定主目录。
Match User sftp-hello_world
ChrootDirectory /home/sftp-user/sftp-hello_world
ForceCommand internal-sftp -u 002
当我无法使用所述用户访问 sftp 时,它显示相对路径而不是完整的远程工作目录。
sftp> pwd
Remote working directory: /
我不确定是 sftp 客户端问题还是远程服务器设置问题。你怎么看?
我期待这样的事情。
sftp> pwd
Remote working directory: /home/sftp-user/sftp-hello_world/
我的环境是安装了子系统 linux Ubuntu 18.04 LTS 的 Windows 10。如果有帮助,服务器端是 Amazon Linux AMI。
这是正确的行为。这就是chroot。
实际上,您想要的似乎是将 设置为用户
/home/sftp-user/sftp-hello_world
的主目录sftp-hello_world
。