温馨提示×

SFTP在CentOS怎么安装

小樊
44
2026-07-08 17:56:22
栏目: 智能运维

CentOS 上安装 SFTP 主要通过 OpenSSH 来实现,因为 SFTP 是 OpenSSH 的一部分,默认情况下 CentOS 并不需要单独安装 SFTP 服务。

下面按常见场景说明 ✅


一、确认是否已安装 OpenSSH(推荐)

1️⃣ 检查是否已安装

rpm -qa | grep openssh

sshd -V

如果看到类似:

openssh-server-xxx
openssh-clients-xxx

说明已经安装。


二、安装 OpenSSH(如未安装)

✅ CentOS 7 / 8 / Stream

sudo yum install -y openssh-server openssh-clients

CentOS 8 / Stream 也可用:

sudo dnf install -y openssh-server openssh-clients

三、启动并设置开机自启 SSH 服务

sudo systemctl start sshd
sudo systemctl enable sshd

查看状态:

sudo systemctl status sshd

四、确认 SFTP 是否可用

SFTP 默认随 SSH 启用,无需额外配置。

测试本地连接

sftp localhost

或远程连接:

sftp username@服务器IP

五、配置 SFTP(可选,常用于限制用户)

1️⃣ 创建仅用于 SFTP 的用户

sudo useradd -m sftpuser
sudo passwd sftpuser

2️⃣ 修改 SSH 配置

sudo vi /etc/ssh/sshd_config

添加或修改:

Subsystem sftp internal-sftp

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

3️⃣ 设置目录权限(非常重要)

sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
mkdir /home/sftpuser/upload
sudo chown sftpuser:sftpuser /home/sftpuser/upload

4️⃣ 重启 SSH

sudo systemctl restart sshd

六、防火墙放行 SSH(如启用)

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

七、常见问题

❓ SFTP 连不上?

  • 检查 sshd 是否运行
  • 检查 22 端口是否开放
  • 查看日志:
sudo tail -f /var/log/secure

八、总结

CentOS 安装 SFTP = 安装并启用 OpenSSH
✅ SFTP 默认启用,无需额外服务
✅ 常用场景:限制用户、禁止 SSH 登录、只允许 SFTP


如果你需要:

  • 只允许 SFTP,禁止 SSH
  • 多用户隔离
  • 使用密钥登录
  • 非 22 端口

可以告诉我你的具体需求,我可以给你定制配置 ✅

0