温馨提示×

debian sftp端口如何改

小樊
47
2026-10-06 13:45:40
栏目: 智能运维

在 Debian 上修改 SFTP 端口,本质上是修改 OpenSSH 服务端(sshd) 的监听端口,因为 SFTP 是通过 SSH 提供的子系统实现的。

下面以 Debian 10/11/12 为例说明。


一、修改 SSH(SFTP)端口

1. 编辑 SSH 配置文件

sudo nano /etc/ssh/sshd_config

找到或添加以下行(默认是 22):

#Port 22
Port 2222

✅ 建议:

  • 先保留 Port 22,新增一行 Port 2222
  • 确认新端口可用后再关闭 22

2. 确认 SFTP 子系统启用

通常默认已启用:

Subsystem sftp /usr/lib/openssh/sftp-server

不要注释掉这一行。


二、配置防火墙(非常重要)

如果使用 ufw

sudo ufw allow 2222/tcp
sudo ufw reload

如果使用 iptables

iptables -A INPUT -p tcp --dport 2222 -j ACCEPT

三、SELinux(Debian 一般没开,可忽略)

Debian 默认不带 SELinux,如果你自己装了:

semanage port -a -t ssh_port_t -p tcp 2222

四、重启 SSH 服务

sudo systemctl restart ssh

⚠️ 注意:

  • 不要断开当前 SSH 连接
  • 新开一个终端测试新端口是否可用

五、测试 SFTP 新端口

sftp -P 2222 user@server_ip

或在 FileZilla 中:

  • 端口:2222
  • 协议:SFTP

六、确认无误后关闭 22(可选)

#Port 22
Port 2222

然后:

sudo ufw delete allow 22/tcp
sudo systemctl restart ssh

常见问题

1. 改完连不上?

  • 防火墙没放行
  • 云服务器安全组没放开
  • sshd 没重启

2. SFTP 单独改端口?

❌ 不行
SFTP 没有独立端口,只能跟着 SSH 走。


如果你愿意,我可以:

  • 帮你写 只允许 SFTP 不能 SSH 的用户配置
  • 或配置 chroot 限制目录的 SFTP

直接说需求即可。

0 踩