我在服务器上安装了一个股票 Ubuntu,我试图只允许某些用户将文件 scp 到他们自己的主目录。我阅读了rbash和 scponly为了完成这项工作,对 /etc/passwd 进行了必要的更改,并验证它们在通过 ssh 或 scp 直接在终端中连接时是否正常工作。
但是,当 FileZilla 以这些用户中的任何一个身份登录时,它能够尽情地在 ls'ing 和 cd'ing 周围蹦蹦跳跳,我不知道为什么。
我确保服务器上没有运行 FTP 守护程序(因此,据我所知,强制 FileZilla 通过 SFTP/SSH 连接并加载为用户指定的 shell),除此之外我什么都没有.
请您参考如下方法:
您可能没有禁用/chroot SFTP。
我假设您已经遵循了一些过时的 chrooting 指南。如今,当 SFTP 默认是 OpenSSH 的内置功能时 sshd ,shell 级别的限制/chrooting 不再适用于 SFTP。
如果要禁用 SFTP,只需删除 Subsystem sftp来自 /etc/ssh/sshd_config 的指令.虽然它破坏了 FileZilla,因为它不支持 SCP 协议(protocol)。
如果要保留 SFTP,有两种选择:
Subsystem sftp运行子进程/usr/libexec/openssh/sftp-server而不是 internal-sftp .这应该使 scponly/rbash限制适用。 scponly。/rbash .见
ChrootDirectory指示:https://man.openbsd.org/sshd_config




