You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在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连接请求直接失败:

  1. 编辑/etc/ssh/sshd_config文件:
vi /etc/ssh/sshd_config
  1. 将原来的sftp子系统行替换为:
Subsystem sftp /bin/false

(如果原来的行是注释状态,直接添加这一行即可)
3. 重启sshd服务使配置生效:

systemctl restart sshd

这样设置后,当用户尝试通过SFTP(包括Thunar里的sftp://连接)访问服务器时,会因为子系统无法正常启动而被拒绝,但正常的SSH登录完全不受影响。

备注:内容来源于stack exchange,提问作者Arun

火山引擎 最新活动