问题背景
许多系统管理员出于安全考虑,会将 OpenSSH 服务从默认的 22 端口更改为其他端口(例如 2222)。然而,在配置后可能会遇到“端口 2222 被关闭”或“连接被拒绝”的错误。
常见原因
- SSH 配置文件未正确设置监听端口
- 防火墙(如 iptables、firewalld 或云平台安全组)阻止了 2222 端口
- SELinux 或 AppArmor 限制了端口访问
- sshd 服务未重启或启动失败
- 客户端连接时未指定端口号
排查步骤
- 检查 SSH 配置:确认
/etc/ssh/sshd_config中包含Port 2222,并注释掉Port 22(如不需要)。 - 重启 SSH 服务:执行
sudo systemctl restart sshd(或sshd.service)。 - 验证端口监听:运行
sudo ss -tuln | grep 2222,确认有 LISTEN 状态。 - 检查本地防火墙:例如使用
sudo ufw allow 2222/tcp或配置 firewalld。 - 检查云平台安全组:确保入站规则允许 TCP 2222 端口。
- 测试连接:使用
ssh -p 2222 user@host明确指定端口。
安全建议
更改 SSH 端口可减少自动化攻击,但不应替代强密码、密钥认证、Fail2Ban 等安全措施。建议结合多种防护手段提升服务器安全性。