在Ubuntu 24.04.2中,仅修改传统的SSH配置文件 /etc/ssh/sshd_config
通常不起作用 — — 端口保持在 22。
这是因为 Ubuntu 24.04.2 通过以下方式管理 SSH systemd
套接字激活,这意味着必须更新两个配置文件才能使更改生效。
本指南介绍了正确更改 SSH 端口的完整步骤。
1.编辑主 SSH 配置文件
打开SSH配置文件:
vi /etc/ssh/sshd_config
找到这一行:
#Port 22
取消注释并将其更改为您喜欢的端口号:
Port 22312
保存并重启SSH:
systemctl restart ssh
然而,该港口可能会保留 22,因为另一个服务控制着该套接字。
2.编辑 SSH 套接字配置
为了使更改生效,还需要编辑套接字配置:
vi /lib/systemd/system/ssh.socket
查找并修改以下几行:
[Socket]
ListenStream=22312
Accept=yes
重新加载并重新启动套接字:
sudo systemctl daemon-reload
sudo systemctl restart ssh.socket
如果新端口仍未生效,请继续下一步。
3.停止套接字并重新启动SSH
您需要先手动停止套接字服务:
systemctl stop ssh.socket
然后正常重启SSH:
systemctl restart ssh
此时,SSH 应该正在监听 端口 22312.
4. 验证新端口
运行以下命令:
netstat -anpt | grep 22312
如果您看到类似这样的内容,则表示端口更改成功:
tcp 0 0 0.0.0.0:22312 0.0.0.0:* LISTEN 1234/sshd: /usr/sbin
5. 防火墙和安全提示
✅ 允许新端口
如果你正在使用 ufw
或云防火墙,请确保允许它:
ufw allow 22312/tcp
✅ 保留备份 SSH 会话
在重新启动服务之前,始终保持一个 SSH 会话打开,以防出现配置错误。
✅ 安全最佳实践
更改 SSH 端口(从 22 到 22312)有助于减少机器人扫描,
但你也应该:
- 禁用 root 密码登录
- 使用 SSH 密钥进行身份验证
- 限制登录尝试
fail2ban
✅ 总结
要在 Ubuntu 24.04.2 上成功更改 SSH 端口:
- 编辑两者
/etc/ssh/sshd_config
和/lib/systemd/system/ssh.socket
- 停止
ssh.socket
,然后重新启动ssh
- 确认新的端口和防火墙规则
您的 SSH 服务现在已安全运行 端口 22312.