修改 SSH 监听端口
修改 SSH 端口能减少针对默认 22 端口的无差别扫描,但它不是访问控制手段。真正有效的基础措施仍是 SSH 密钥、禁用不必要的密码登录、及时更新系统和限制管理入口
本文以 Ubuntu/Debian 为例,使用 25565 作为示例端口。端口必须是 1 到 65535 之间未被其他服务占用的整数
修改配置后,应从新的终端验证新端口能够登录,再关闭原连接。否则端口写错或防火墙遗漏时,可能需要通过云厂商控制台恢复
修改配置
先编辑 SSH 服务端配置:
sudoedit /etc/ssh/sshd_configsudo vim /etc/ssh/sshd_config找到 Port 22或新增一行,写成:
# Port 端口# 例如:Port 25565若文件中存在多条未注释的 Port,SSH 会同时监听多个端口。确认只保留自己需要的端口,避免误把旧端口继续暴露在公网
也可以在/etc/ssh/sshd_config.d/新建 port.conf 并写入 Port 34377。先确认主配置中存在对应的 Include 行,避免以为配置已生效而实际未被读取
先校验,再重载
重载之前先检查语法:
sudo sshd -t没有输出代表语法通过。接着重载服务;Ubuntu 通常使用 ssh,部分发行版服务名为 sshd:
sudo systemctl reload sshsudo systemctl reload sshdreload 不会中断已有 SSH 会话。若系统不支持重载,再使用 restart,但依然应先通过 sshd -t
Ubuntu24.04修改办法:
sudo vim /etc/ssh/sshd_configsudo systemctl daemon-reloadsudo systemctl restart ssh放行防火墙与云平台规则
系统启用 UFW 时放行新端口:
sudo ufw allow 25565/tcpsudo ufw status numbered云服务器还需要在安全组或防火墙规则中允许 TCP 25565 入站。如果只改了系统配置而未放行云平台规则,公网连接仍会超时
用新连接验证
保持原有会话,在本地新开一个终端:
ssh -p 25565 root@IP确认登录成功后,在服务器上检查监听状态:
sudo ss -lntp | grep ':25565'最后再删除旧端口的防火墙规则。例如 UFW 显示旧规则编号后,可按编号删除:
sudo ufw status numberedsudo ufw delete <旧规则编号>不要在确认新端口可用前执行删除操作。完成后,可继续配置 Telegram SSH 登录告警,记录每次成功登录
无法连接时的排查顺序
- 在 VPS 控制台或原 SSH 会话中执行
sudo sshd -t,确认配置语法正确 - 用
sudo ss -lntp | grep ssh确认 SSH 是否在新端口监听 - 检查 UFW、iptables/nftables 以及云安全组是否都已放行该端口
- 从本地用
ssh -vvv -p 25565 root@ip查看连接停在哪一步
如果旧会话已经断开且两个端口都不能访问,需要通过云厂商的 Web/VNC 控制台将配置恢复,再重载 SSH 服务
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!







