在 Ubuntu 24.04 上更改 SSH 端口

在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.