如何在 macos 中为 sftp 设置单独的当前目录?

如何在 macos 中为 sftp 设置单独的当前目录?

在我的 macos 上,我能够以 身份登录 sftp sftp localhost。运行时,!pwd它显示默认目录是,/Users/username但我想更改它/Users/username/Sites/wordpress

我编辑了/etc/ssh/sshd_config文件并在文件底部添加了以下几行

Match User username
       X11Forwarding no
       AllowTcpForwarding yes
       PermitTTY yes
       PasswordAuthentication yes
       ChrootDirectory /Users/username/Sites/wordpress

但是当我再次尝试在密码提示后登录时,sftp localhost出现了如下错误

client_loop: send disconnect: Broken pipe
Connection closed 

请告诉我如何修复这个错误?

编辑:

Subsystem sftp internal-sftpr

# Example of overriding settings on a per-user basis
Match User username
    X11Forwarding no
    AllowTcpForwarding yes
    PermitTTY yes
    PasswordAuthentication yes
        ChrootDirectory /Users/username/Sites/wordpress

答案1

您应该配置 sshd 以internal-sftp用于 SFTP,而不是旧的外部 sftp 服务器二进制文件。

Subsystem sftp internal-sftp

internal-sftp 可以使用 chroot 目录,而不需要将任何支持文件放置在该目录中。

您还可以阅读有关所有其他internal-sftp 与旧 sftp 服务器之间的区别

相关内容