如何防止VPS被非法登录?
| 防护措施 |
具体方法 |
适用场景 |
| 修改默认端口 |
将SSH默认22端口改为其他高位端口(如2222) |
所有VPS环境 |
| 密钥认证 |
禁用密码登录,改用SSH密钥对认证 |
有固定IP的管理员 |
| Fail2Ban防护 |
安装Fail2Ban自动封禁多次登录失败的IP |
高流量VPS |
| 防火墙配置 |
使用iptables/firewalld限制仅允许特定IP访问 |
企业级VPS管理 |
| 定期更新系统 |
及时安装安全补丁,修复已知漏洞 |
所有运行中的VPS |
VPS安全登录防护指南
一、基础防护措施
- 修改默认SSH端口
- 操作说明:编辑
/etc/ssh/sshdconfig文件,找到Port 22行修改为Port 2222(示例),重启SSH服务生效
- 使用工具提示:建议选择1024-65535之间的非知名端口
sudo sed -i 's/#Port 22/Port 2222/g' /etc/ssh/sshdconfig
sudo systemctl restart sshd
- 启用密钥认证
- 操作说明:生成SSH密钥对后,将公钥上传至VPS的
~/.ssh/authorizedkeys文件
- 使用工具提示:Windows用户可使用PuTTYgen生成密钥
ssh-keygen -t rsa -b 4096
ssh-copy-id -i ~/.ssh/idrsa.pub user@yourvpsip
二、进阶防护方案
- 配置Fail2Ban
- 操作说明:安装后自动监控SSH日志,默认5次失败尝试即封禁IP10分钟
sudo apt install fail2ban # Debian/Ubuntu
sudo systemctl enable fail2ban
- 设置防火墙规则
- 操作说明:使用iptables或firewalld限制访问源IP
sudo ufw allow from 192.168.1.100 to any port 2222 # Ubuntu示例
三、常见问题排查
| 问题现象 |
可能原因 |
解决方案 |
| 无法连接SSH |
防火墙规则错误 |
检查规则顺序和端口匹配 |
| 密钥认证失败 |
文件权限过高 |
执行chmod 600 ~/.ssh/* |
| Fail2Ban误封 |
配置阈值过低 |
调整 jail.conf 中的参数 |
四、日常维护建议
- 定期检查
/var/log/auth.log登录日志
- 使用
sudo apt update && sudo apt upgrade -y保持系统更新
- 建议每月更换一次SSH密钥对
发表评论