温馨提示×

如何设置centos sftp端口

小樊
32
2026-09-24 06:20:12
栏目: 智能运维

在 CentOS 上“设置 SFTP 端口”,本质上是 修改 SSH 服务的端口(因为 SFTP 依赖 SSH)。下面分几种常见情况说明。


一、修改 SFTP(SSH)端口(最常用)

1. 修改 SSH 配置文件

sudo vi /etc/ssh/sshd_config

找到或添加:

# 默认是 22
Port 2222

如果原来有 Port 22,可以保留(同时监听两个端口),或改为新端口。


2. 关闭 SELinux 对端口的限制(如启用 SELinux)

sudo semanage port -a -t ssh_port_t -p tcp 2222

若未安装 semanage:

sudo yum install policycoreutils-python-utils -y

3. 防火墙放行端口

sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

4. 重启 SSH 服务

sudo systemctl restart sshd

5. 测试连接

sftp -P 2222 user@server_ip

二、仅限制 SFTP 用户使用独立端口(高级)

SFTP 本身不能单独设端口,但可以通过:

  • 运行多个 sshd 实例
  • 不同端口 + 不同配置文件

示例(简要)

  1. 复制配置
cp /etc/ssh/sshd_config /etc/ssh/sshd_sftp.conf
  1. 修改新配置
Port 2222
Subsystem sftp internal-sftp
Match User sftpuser
    ChrootDirectory /home/sftpuser
    ForceCommand internal-sftp
  1. 新建服务
cp /usr/lib/systemd/system/sshd.service /etc/systemd/system/sshd-sftp.service

修改 ExecStart 指向新配置,然后启动。


三、注意事项

  • 不要直接禁用 22 端口前先测试新端口
  • 云服务器还需在 安全组 放行端口
  • 修改端口不能提升安全性本质,只是减少扫描

如果你需要:

  • ✅ 仅允许 SFTP 禁止 SSH
  • ✅ Chroot 限制目录
  • ✅ 多用户不同端口

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

0 踩