在 Linux 中,SFTP 本身没有独立端口,它依赖 SSH 服务(sshd),所以“改 SFTP 端口”本质是修改 SSH 端口。
sudo vi /etc/ssh/sshd_config
找到或添加这一行(如不存在):
Port 2222
示例:将端口改为
2222
✅ 建议:
22 与其他服务冲突Port 22
Port 2222
允许新端口:
sudo semanage port -a -t ssh_port_t -p tcp 2222
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
sudo ufw allow 2222/tcp
sudo systemctl restart sshd
sftp -P 2222 user@ip
或在 ~/.ssh/config:
Host myserver
HostName ip
Port 2222
User user
如果只想 限制某些用户用 SFTP 且用不同端口(高级用法):
/etc/ssh/sshd_sftp.confSubsystem sftp internal-sftp⚠️ 一般场景不需要这么做
❌ 改完端口连不上
✅ 检查:
ss -tlnp | grep ssh
如果你告诉我:
我可以给你更精确的配置方案。