行业资讯

云服务器开启22端口:SSH端口打开与安全加固全攻略

2025-10-10 21:19:33 行业资讯 浏览:2次


云服务器要实现远程登录,22端口是门牌号。打开它,等于给自己和运维伙伴一个便捷的入口;没有人稽核就可能被乱闯,因此要把门锁好,钥匙分发给信任的人。本文聚焦在云服务器上如何在保证安全的前提下开启22端口,并把远程登录稳定、可控地落地到实际运维中。

SSH 的远程登录是主机与管理员之间最常用的渠道,22端口就是 SSH 的默认端口。很多云服务商的默认策略是关闭所有新建实例的入站 22 端口,等你明确需要时再开启。开启之前要清楚要点:你可以只允许来自特定 IP 的连接、尽量使用密钥认证、禁用根账户直接登录、并配合防火墙和日志监控来降低暴力破解风险。这些做法看起来像是抛砖引玉,但在现实中能显著提升稳定性和安全性。

综合参考来源示意:阿里云官方文档、腾讯云官方帮助文档、AWS 官方文档、Azure 官方文档、华为云官方文档、DigitalOcean 官方防火墙文档、Linode 官方安全实践、Stack Overflow SSH 配置问答、OpenSSH 官方文档、Fail2ban 官方指南。

第一步,进入云服务控制台,定位到网络/安全组(或等效名词)的入站规则。新增一条入站规则,协议为 TCP,端口范围 22,源地址设为你的工作IP或一个你信赖的网段,并确保默认拒绝其他未明确放行的来源。保存后,实例上的22端口虽“对外可见”,但只对被你放行的源生效。

第二步,在服务器上修改 SSH 配置。编辑 /etc/ssh/sshd_config,做这些关键修改:Port 22;PermitRootLogin prohibit-password;PasswordAuthentication no;PubkeyAuthentication yes;ChallengeResponseAuthentication no;UsePAM yes;AllowUsers your_user。修改后记得重启 ssh 服务:sudo systemctl restart sshd(在某些发行版下可能是 sudo service sshd restart)。

第三步,生成并部署密钥对。你本地用 ssh-keygen 生成公钥与私钥,公钥追加到服务器的 ~/.ssh/authorized_keys 中,私钥妥善保存在本地并设置合适权限 600。测试连上服务器:ssh -p 22 your_user@your_server_ip,如果一切顺利就看到登录提示。若遇到权限问题,检察服务器端的 ~/.ssh/authorized_keys 权限与目录权限。

第四步,服务器端的防火墙也要跟上节奏。若使用 UFW,常见做法是默认拒绝所有入口流量,然后仅放行 22 端口给指定源:sudo ufw default deny incoming;sudo ufw default allow outgoing;sudo ufw allow from your_ip/32 to any port 22 proto tcp;sudo ufw enable。若是在使用 firewalld 的系统:sudo firewall-cmd --permanent --add-port=22/tcp;sudo firewall-cmd --reload。这样即使云端的规则广开放,服务器端也只允许受控的 SSH 流量进入。

云服务器开启22端口

第五步,增加额外层的保护。禁用 root 登录是基本动作:在 sshd_config 中把 PermitRootLogin 改为 no;同时强制使用公钥认证,关闭 PasswordAuthentication;考虑使用非默认端口(如 2222)仅作为额外层防护而非唯一手段,结合跳板机或 VPN 进行访问会更稳妥。再安装 fail2ban 进行暴力破解防护,命令大意是安装、开启服务并为 SSH 设置 jail。定期查看 /var/log/auth.log 或 /var/log/secure 的登录记录,发现异常立刻拦截。

如果你愿意进一步提升安全性,可以设立跳板机(bastion host)或把 SSH 端口暴露给 VPN 网络。跳板机可以作为单点进入点,所有直接 SSH 都必须先连接跳板机再跳转到目标实例。监控方面,开启系统日志聚合、设置告警阈值、定期检查 SSH 连接的失败次数,这些都是长期稳定运行的关键。

顺便说一句,玩游戏想要赚零花钱就上七评赏金榜,网站地址:bbs.77.ink

实战技巧还包括用 nc 或 telnet 测试端口是否对外开放,以及确认安全组、服务器防火墙、以及 SSH 配置之间的一致性。很多新手会把端口 22 同时在云和服务器端都放开,结果就像把门直接开给陌生人;所以务必逐步放开、逐步验证。

最后问题来了,端口真的只是一串数字,还是通往某个信任入口的钥匙?这把钥匙到底藏在哪,谁来保管,什么时候才会真正安静下来?