温馨提示×

centos 怎么开启 sftp 服务

小樊
37
2026-09-02 22:36:20
栏目: 智能运维

在 CentOS 上开启 SFTP 服务,其实 SFTP 是 SSH 的一部分,不需要单独安装“sftp 服务”,只要系统启用了 SSH(sshd),SFTP 默认就可以用。

下面按常见情况说明:


一、确认 SSH 服务已安装并运行(最关键)

1. 检查 sshd 是否安装

rpm -qa | grep openssh-server

如果没有输出,就安装:

yum install -y openssh-server

2. 启动 SSH 服务

systemctl start sshd

设置开机自启:

systemctl enable sshd

查看状态:

systemctl status sshd

3. 确认 SFTP 子服务已启用

SFTP 默认由 sshd 内部的 sftp-server 提供。

检查配置文件:

grep sftp /etc/ssh/sshd_config

一般应看到类似:

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

如果没有,可以手动添加这一行,然后重启 sshd:

systemctl restart sshd

二、测试 SFTP 是否可用

在另一台机器或本机:

sftp 用户名@服务器IP

例如:

sftp root@192.168.1.100

能登录就说明 SFTP 已开启 ✅


三、防火墙放行(如果连不上)

CentOS 7/8

firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload

四、常见问题

1. 只能用 SFTP,不能用 SSH(限制用户)

可配置 Match UserChroot 环境(需要我可单独写)

2. SELinux 导致无法访问目录

getenforce

如果是 Enforcing,可临时测试:

setenforce 0

3. 修改了 sshd_config 后不生效

一定要:

systemctl restart sshd

总结一句话

CentOS 开启 SFTP = 开启 sshd 服务

如果你是想:

  • 限制用户只能 SFTP
  • 配置 SFTP 根目录(chroot)
  • 多用户隔离

可以告诉我你的使用场景,我给你具体配置示例。

0