在 CentOS 上安装 SFTP 主要通过 OpenSSH 来实现,因为 SFTP 是 OpenSSH 的一部分,默认情况下 CentOS 并不需要单独安装 SFTP 服务。
下面按常见场景说明 ✅
rpm -qa | grep openssh
或
sshd -V
如果看到类似:
openssh-server-xxx
openssh-clients-xxx
说明已经安装。
sudo yum install -y openssh-server openssh-clients
CentOS 8 / Stream 也可用:
sudo dnf install -y openssh-server openssh-clients
sudo systemctl start sshd
sudo systemctl enable sshd
查看状态:
sudo systemctl status sshd
SFTP 默认随 SSH 启用,无需额外配置。
sftp localhost
或远程连接:
sftp username@服务器IP
sudo useradd -m sftpuser
sudo passwd sftpuser
sudo vi /etc/ssh/sshd_config
添加或修改:
Subsystem sftp internal-sftp
Match User sftpuser
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
mkdir /home/sftpuser/upload
sudo chown sftpuser:sftpuser /home/sftpuser/upload
sudo systemctl restart sshd
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
sshd 是否运行sudo tail -f /var/log/secure
✅ CentOS 安装 SFTP = 安装并启用 OpenSSH
✅ SFTP 默认启用,无需额外服务
✅ 常用场景:限制用户、禁止 SSH 登录、只允许 SFTP
如果你需要:
可以告诉我你的具体需求,我可以给你定制配置 ✅