温馨提示×

centos怎么禁用sftp服务

小樊
40
2026-09-09 00:26:35
栏目: 智能运维

在 CentOS 上“禁用 SFTP 服务”通常有两种理解:完全禁止 SFTP(但保留 SSH),或关闭 SSH 服务(SFTP 也会随之关闭)。下面分别说明。


一、仅禁用 SFTP(保留 SSH 登录)

SFTP 是通过 SSH 的 Subsystem sftp 实现的,只要注释掉相关配置即可。

1. 修改 SSH 配置

vi /etc/ssh/sshd_config

找到这一行:

Subsystem sftp /usr/libexec/openssh/sftp-server

将其注释或删除:

# Subsystem sftp /usr/libexec/openssh/sftp-server

2. 重启 sshd 服务

systemctl restart sshd

✅ 效果:

  • SSH 登录仍然可用
  • sftp 命令无法使用

二、禁止特定用户使用 SFTP(更精细控制)

如果不想完全禁用,可在 sshd_config 中使用 Match:

Match User testuser
    ForceCommand /bin/bash
    # 或
    # DenyGroups sftpusers

或使用:

Match User testuser
    ChrootDirectory /dev/null

三、彻底关闭 SSH / SFTP(不推荐生产环境)

如果服务器不需要 SSH:

systemctl stop sshd
systemctl disable sshd

⚠️ 注意:这会同时禁用 SSH 和 SFTP,且可能断开当前连接。


四、验证是否禁用成功

从客户端测试:

sftp user@centos_ip

若返回:

subsystem request failed on channel 0

说明 SFTP 已成功禁用。


如果你能说明 CentOS 版本(7 / 8 / Stream) 或 是否使用 SFTP 用户隔离(Chroot),我可以给出更精确方案。

0 踩