温馨提示×

CentOS怎么安装SFTP服务

小樊
34
2026-08-03 23:10:50
栏目: 智能运维

CentOS 上安装和配置 SFTP 服务,其实 不需要额外安装软件,因为 SFTP 是 OpenSSH 的一部分,系统默认就支持。你只需要确保 SSH 服务正常运行并正确配置

下面按 CentOS 7 / 8 / Stream 通用步骤说明。


一、确认 OpenSSH 是否已安装

1️⃣ 检查 SSH 服务

rpm -qa | grep openssh

一般会有:

openssh-server
openssh-clients
openssh

2️⃣ 如果没有安装(极少情况)

yum install -y openssh-server
# 或 CentOS 8 / Stream
dnf install -y openssh-server

二、启动并设置 SSH 服务

1️⃣ 启动 SSH 服务

systemctl start sshd

2️⃣ 设置开机自启

systemctl enable sshd

3️⃣ 检查状态

systemctl status sshd

三、配置 SFTP(推荐方式:使用内部 SFTP)

编辑 SSH 配置文件:

vim /etc/ssh/sshd_config

1️⃣ 确认或添加以下内容

Subsystem sftp internal-sftp

⚠️ 如果有下面这行,注释掉或删除

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

四、创建 SFTP 专用用户(禁止 SSH 登录)

1️⃣ 创建用户

useradd -m sftpuser
passwd sftpuser

2️⃣ 禁止 SSH Shell 登录(可选但推荐)

usermod -s /sbin/nologin sftpuser

五、配置 SFTP 目录权限(非常关键)

1️⃣ 创建 SFTP 根目录

mkdir -p /data/sftp
chown root:root /data/sftp
chmod 755 /data/sftp

2️⃣ 创建用户可写目录

mkdir /data/sftp/upload
chown sftpuser:sftpuser /data/sftp/upload
chmod 755 /data/sftp/upload

规则说明(必须)

  • SFTP 根目录 必须由 root 拥有
  • 用户 不能拥有根目录写权限
  • 用户只能在子目录中上传文件

六、配置 SSH 限制 SFTP 用户

/etc/ssh/sshd_config 末尾添加:

Match User sftpuser
    ChrootDirectory /data/sftp
    ForceCommand internal-sftp
    X11Forwarding no
    AllowTcpForwarding no

如果你有多个用户:

Match Group sftpusers
    ChrootDirectory /data/sftp
    ForceCommand internal-sftp

并创建用户组:

groupadd sftpusers
usermod -aG sftpusers sftpuser

七、重启 SSH 服务

systemctl restart sshd

八、防火墙放行 SSH 端口(默认 22)

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

九、连接测试

使用命令行

sftp sftpuser@服务器IP

使用工具

  • FileZilla
  • WinSCP
  • Xftp

协议选择 SFTP(不是 FTP)


十、常见问题排查

❌ 登录失败 / 无法进入目录

检查:

/var/log/secure

常见原因:

  • Chroot 目录不是 root 拥有
  • 目录权限过大
  • SELinux 未关闭或配置

✅ 临时关闭 SELinux(测试用)

setenforce 0

永久关闭:

vim /etc/selinux/config
SELINUX=disabled

总结

CentOS 安装 SFTP 的本质

  • 安装并启动 sshd
  • 配置 internal-sftp
  • 正确设置 Chroot 目录权限

如果你需要:

  • 多用户 SFTP
  • 只读 / 只写权限
  • SFTP + Nginx 静态目录
  • SSL / 端口修改

可以直接告诉我你的使用场景,我可以给你定制配置。

0