VPS安全加固实战:SSH密钥登录、防火墙与Fail2ban一次配好


买回来的 VPS 如果直接裸奔上线,公网上的扫描器往往几小时内就能发现你开放的 22 端口,随后就是一轮又一轮的密码爆破。本文按真实操作顺序,把 VPS 最常用的几项安全加固手段串起来讲一遍:SSH 密钥登录、关闭密码登录、Fail2ban 拦截爆破、防火墙只放行必要端口,照着做就能把安全水位明显提上去。


一、SSH 密钥登录,告别明文密码

密钥登录的核心是一对钥匙:私钥保存在本地电脑,公钥上传到服务器。登录时服务器用公钥验证身份,私钥始终不离开本地,天然比密码安全。先在本地执行 ssh-keygen -t ed25519 生成密钥对,一路回车即可。然后把公钥传到服务器:ssh-copy-id root@服务器IP,或手动追加到服务器的 ~/.ssh/authorized_keys。上传后先在本地测试 ssh root@服务器IP 能否免密登录,确认没问题再继续。


二、关闭密码登录,只保留密钥

编辑 /etc/ssh/sshd_config,把 PasswordAuthentication 改为 no,确认 PubkeyAuthentication 为 yes。改完重启 SSH 服务:systemctl restart sshd(不同发行版可能叫 ssh)。这里要特别强调:务必先确认密钥能正常登录再关闭密码登录,否则一旦断连,只能靠面板或商家 VNC 救回来了。


三、修改 SSH 默认端口(可选)

公网扫描器最喜欢扫 22 端口,把它改成一个高位端口(如 2222、10022),可以过滤掉绝大多数自动化扫描。同样在 sshd_config 中修改 Port 字段,改完先放行新端口的防火墙规则,再重启 SSH 服务,本地连接配置也要同步更新。


四、用 Fail2ban 拦截暴力破解

Fail2ban 会实时监控日志,对短时间内连续登录失败的 IP 自动封禁。以 Debian/Ubuntu 为例:apt install fail2ban 装好后默认配置即可生效,它会监听 sshd 日志。也可以按需调整参数,比如 maxretry = 5、bantime = 3600。装好之后,僵尸网络的爆破脚本基本没机会和你死磕密码了。


五、防火墙只放行必要端口

安全的第一原则是默认拒绝。用 ufw(Ubuntu)或 firewalld(CentOS)把端口白名单化:只放行 SSH、HTTP/HTTPS 以及真正在用的服务端口,其余一律不开。最基本的姿势就是 ufw allow 22 && ufw enable。如果用了云服务商的安全组,建议和系统防火墙规则保持一致,避免把自己锁在门外。


六、保持系统更新与良好习惯

安全不是一次性的事。定期执行 apt update && apt upgrade(或 yum update)打安全补丁;不设弱密码、不装来路不明的脚本;日常操作尽量用低权限用户,而不是全程 root;重要数据配合定时备份,出问题才能快速回滚。


七、结语

以上几步都不复杂,加起来十几分钟就能完成,却能把绝大多数自动化攻击挡在门外。安全加固的价值不在复杂度,而在于把这些基础动作养成习惯。


手机扫码阅读

微信或手机浏览器扫一扫,随时随地随心阅读与分享

-

7折优惠|阿里云、腾讯云、AWS、谷歌云、微软云免实名服务器|24H自助U充值美金

评 论