无法在 Ubuntu 上更改 SSH 端口

无法在 Ubuntu 上更改 SSH 端口

我目前在更改 Ubuntu 服务器上的 SSH 端口时遇到了问题。我尝试了多种故障排除步骤,但仍然无法让 SSH 监听所需的端口。我正在向社区寻求建议和帮助,以帮助我诊断和解决此问题。

问题:

出于安全原因,我最初想将默认 SSH 端口从 22 更改为 2222。我更新了 SSH 配置文件 (/etc/ssh/sshd_config),并将 Port 指令设置为 2222。进行更改并重新启动 SSH 服务后,该服务仍然监听端口 22,而不是配置的端口 2222。已采取的故障排除步骤:

  • 更新的配置:我已确保 SSH 配置文件包含正确的端口指令:端口 2222。
  • 重新启动 SSH:我已使用以下命令多次重新启动 SSH 服务:sudo systemctl restart ssh
  • 检查监听端口:我已使用该命令sudo ss -tuln | grep ssh检查 SSH 是否正在监听所需端口。但是,没有输出。
  • 已验证的语法:我已使用确认了 SSH 配置的语法sudo sshd -t,并且没有报告错误。
  • 防火墙规则:我添加了一条防火墙规则,以允许使用 UFW 在端口 2222 上进行传入连接:sudo ufw allow 2222/tcp
  • 路由器配置:我已更新路由器的端口转发设置,以将端口 2222 上的连接转发到我的服务器的内部 IP 地址。
  • 系统重启:我已重启系统以确保更改生效。观察和日志:
  • SSH 服务状态(sudo systemctl status ssh)表示服务处于活动状态并正在运行。
  • 日志中显示该服务已停止并启动多次,但它始终在端口 22 上监听。
  • 系统日志(/var/log/auth.log/var/log/secure)未显示任何与 SSH 服务相关的错误。
  • SSH 服务在日志中收到信号 15 (SIGTERM),但我不确定它为什么不断重启。

下一步:

我正在向社区寻求建议,以解决此问题。任何见解、建议或指导都将不胜感激。系统信息:

  • Ubuntu 版本:24
  • 路由器型号:mi 4a

提前感谢您的帮助!

答案1

您可能需要更新ListenStream配置/etc/systemd/system/sockets.target.wants/ssh.socket

将其更改为:

[Socket]
ListenStream=22
Accept=no

到:

[Socket]
ListenStream=2222
Accept=no

不过,我建议使用不同且更高的端口。

更改后,您将需要重新加载 systemctl 守护程序并重新启动 ssh。

sudo systemctl daemon-reload
sudo systemctl restart ssh

相关内容