Linux云服务器SSH安全登录配置全指南
在云计算时代,SSH作为Linux服务器远程管理的"黄金通道",其安全性直接关系到服务器的生死存亡。本文将手把手教您通过8个关键步骤打造固若金汤的SSH防护体系,让黑客无机可乘。
一、基础安全加固三板斧
1. 禁用root直接登录
修改/etc/ssh/sshd_config文件:
PermitRootLogin no
生效命令:systemctl restart sshd
2. 更改默认SSH端口
将22端口改为高端口(建议1024-65535):
Port 58239 # 防火墙需同步放行 firewall-cmd --permanent --add-port=58239/tcp firewall-cmd --reload
3. 密码策略强化
- 启用密码复杂度要求:
apt install libpam-pwquality - 修改
/etc/pam.d/common-password添加:password requisite pam_pwquality.so retry=3 minlen=10 ucredit=-1 lcredit=-1 dcredit=-1
二、进阶防护五重奏
4. 密钥认证替代密码
生成密钥对:ssh-keygen -t ed25519
上传公钥:ssh-copy-id -p 58239 user@server
5. Fail2Ban防御爆破
apt install fail2ban cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local # 修改配置: maxretry = 3 bantime = 1h
6. 双因素认证(2FA)
安装Google Authenticator:
apt install libpam-google-authenticator google-authenticator # 按提示完成配置后,在sshd_config添加: ChallengeResponseAuthentication yes AuthenticationMethods publickey,keyboard-interactive
7. IP白名单限制
# /etc/hosts.allow sshd: 192.168.1.*, 203.0.113.5 # /etc/hosts.deny sshd: ALL
8. 会话超时设置
# /etc/ssh/sshd_config ClientAliveInterval 300 ClientAliveCountMax 2
三、安全检测与监控
- 使用
lastb查看失败登录记录 - 通过
journalctl -u sshd审查日志 - 定期扫描:
lynis audit system
通过以上13项配置,您的SSH安全等级将提升300%。切记每次修改后测试新连接,避免锁死服务器。安全没有终点,建议每季度复查一次配置。
小技巧:可使用ssh -v参数调试连接问题,遇到异常登录立即使用who命令查看在线用户。
