Shell FileZilla打破了rbash和scponly chrooting
我已经在服务器上安装了一个Ubuntu,我试图只允许某些用户将scp文件保存到他们自己的主目录中。我阅读了有关执行此工作的Shell FileZilla打破了rbash和scponly chrooting,shell,ssh,scp,filezilla,chroot,Shell,Ssh,Scp,Filezilla,Chroot,我已经在服务器上安装了一个Ubuntu,我试图只允许某些用户将scp文件保存到他们自己的主目录中。我阅读了有关执行此工作的rbash和scponly,对/etc/passwd进行了必要的更改,并验证了它们在通过ssh或scp直接连接到终端时是否正常工作 然而,当FileZilla作为这些用户中的任何一个登录时,它就能够随心所欲地在ls'ing和cd'ing上跳来跳去,我不知道为什么 我已经确保服务器上没有运行FTP守护进程(因此,据我所知,强制FileZilla通过SFTP/SSH连接并加载为用
rbash
和scponly
,对/etc/passwd
进行了必要的更改,并验证了它们在通过ssh或scp直接连接到终端时是否正常工作
然而,当FileZilla作为这些用户中的任何一个登录时,它就能够随心所欲地在ls'ing和cd'ing上跳来跳去,我不知道为什么
我已经确保服务器上没有运行FTP守护进程(因此,据我所知,强制FileZilla通过SFTP/SSH连接并加载为用户指定的shell),除此之外,我什么都没有。您可能没有禁用/chrooted SFTP 我想你是遵循了一些过时的指南。如今,当SFTP默认为OpenSSH
sshd
的内置功能时,shell级别的限制/chrooting不再适用于SFTP
如果要禁用SFTP,只需从/etc/ssh/sshd\u config
中删除子系统SFTP
指令即可。尽管它破坏了FileZilla,因为它不支持SCP协议
如果要保留SFTP,您有两种选择:
- 更改
以运行子进程子系统sftp
/usr/libexec/openssh/sftp服务器,而不是
。这将使内部sftp
/scponly
限制适用rbash
- 现在,您最好使用OpenSSH的内置chrooting功能,而不是
/scponly
rbash
请参阅
指令:ChrootDirectory
scponly
/rbash
,确保回滚为这些服务器所做的所有配置更改。只关注ChrootDirectory
解决方案。另外,请确保使用子系统sftp内部sftp
指令,而不是指向sftp服务器的路径。例如,请参阅如果按照说明操作后仍然出现错误,请查看syslog/OpenSSH日志。我相信这些错误与FileZilla无关。Chrooting对SFTP客户端应该是透明的。我最终能够通过将受限制用户的主目录搜索到root,并在其中创建一个子文件夹来进行排序,允许他们写入。这不是世界上最优雅的解决方案,但FTP也不是一般的解决方案,它可以完成这项工作。您的指导很有帮助,谢谢!