在 CentOS 上开启 SFTP 服务,其实 SFTP 是 SSH 的一部分,不需要单独安装“sftp 服务”,只要系统启用了 SSH(sshd),SFTP 默认就可以用。
下面按常见情况说明:
rpm -qa | grep openssh-server
如果没有输出,就安装:
yum install -y openssh-server
systemctl start sshd
设置开机自启:
systemctl enable sshd
查看状态:
systemctl status sshd
SFTP 默认由 sshd 内部的 sftp-server 提供。
检查配置文件:
grep sftp /etc/ssh/sshd_config
一般应看到类似:
Subsystem sftp /usr/libexec/openssh/sftp-server
如果没有,可以手动添加这一行,然后重启 sshd:
systemctl restart sshd
在另一台机器或本机:
sftp 用户名@服务器IP
例如:
sftp root@192.168.1.100
能登录就说明 SFTP 已开启 ✅
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload
可配置 Match User 或 Chroot 环境(需要我可单独写)
getenforce
如果是 Enforcing,可临时测试:
setenforce 0
一定要:
systemctl restart sshd
CentOS 开启 SFTP = 开启 sshd 服务
如果你是想:
可以告诉我你的使用场景,我给你具体配置示例。