如何在CentOS 7上阻止Thunar文件管理器连接SFTP服务器(同时不限制SSH登录)
如何在CentOS 7上阻止Thunar文件管理器连接SFTP服务器(同时不限制SSH登录)
先梳理下你的环境和遇到的问题:
- 操作系统:CentOS Linux 7 (Core)
- 文件管理器:Thunar 1.6.16
你的需求
禁止用户通过SFTP将文件复制到这台服务器,但不能阻止用户通过SSH登录这台机器
你已经尝试的操作
- 删除了本地的sftp二进制文件
- 在
/etc/ssh/sshd_config中注释掉了Subsystem sftp /usr/libexec/openssh/sftp-server这一行,然后重启了sshd服务
但问题依然存在:用户仍然能在Thunar里通过输入类似ftp://server-ip的地址连接到服务器的SFTP服务。
解决方案
你遇到的问题可能有两个原因,分别对应不同的解决办法:
1. 区分SFTP和FTP协议,关闭不必要的FTP服务
首先要明确:你输入的ftp://server-ip实际使用的是FTP协议(不是基于SSH的SFTP),如果你的目标是阻止SFTP,那可能需要同时关闭系统上的FTP服务(比如vsftpd):
# 停止FTP服务 systemctl stop vsftpd # 设置开机不启动 systemctl disable vsftpd
2. 彻底禁用SSH的SFTP子系统
仅仅注释掉sshd_config里的sftp子系统行可能不够,建议直接将其指向一个无效的执行文件,确保SFTP连接请求直接失败:
- 编辑
/etc/ssh/sshd_config文件:
vi /etc/ssh/sshd_config
- 将原来的sftp子系统行替换为:
Subsystem sftp /bin/false
(如果原来的行是注释状态,直接添加这一行即可)
3. 重启sshd服务使配置生效:
systemctl restart sshd
这样设置后,当用户尝试通过SFTP(包括Thunar里的sftp://连接)访问服务器时,会因为子系统无法正常启动而被拒绝,但正常的SSH登录完全不受影响。
备注:内容来源于stack exchange,提问作者Arun




