LinuxSSH安全怎么提升_完整流程拆解让问题迎刃而解【教学】

1次阅读

linux ssh 安全需从访问控制、认证机制、服务暴露面、日志监控四层面系统加固:禁用密码登录并强制密钥认证;限制用户与IP访问(如禁止root、AllowUsers、IP白名单);修改默认端口并部署Fail2ban防爆破;开启登录日志审计与定期异常分析。

LinuxSSH安全怎么提升_完整流程拆解让问题迎刃而解【教学】

Linux SSH 安全不是靠一两个配置就能搞定的,而是需要从访问控制、认证机制、服务暴露面、日志监控四个层面系统加固。下面按实际运维顺序拆解关键步骤,每一步都可直接落地。

禁用密码登录,强制使用密钥认证

密码暴力破解是 SSH 最常见攻击方式。启用密钥登录后,攻击者即使猜中用户名也几乎无法登录。

  • 在客户端生成密钥对:ssh-keygen -t ed25519 -C “your_email@example.com”(推荐 ed25519,比 rsa 更快更安全)
  • 把公钥复制到服务器:ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip
  • 编辑 /etc/ssh/sshd_config,确认以下三行已设置:

PubkeyAuthentication yes
PermitEmptyPasswords no
PasswordAuthentication no

改完执行 sudo systemctl restart sshd 生效。⚠️ 操作前务必确保密钥已生效且能正常登录,否则可能被锁死。

限制用户与IP访问范围

最小权限原则:只允许必要的人、从必要的地方连进来。

LinuxSSH安全怎么提升_完整流程拆解让问题迎刃而解【教学】

腾讯AI 开放平台

腾讯AI开放平台

LinuxSSH安全怎么提升_完整流程拆解让问题迎刃而解【教学】 381

查看详情 LinuxSSH安全怎么提升_完整流程拆解让问题迎刃而解【教学】

  • 禁止 root 直接登录:PermitRootLogin no
  • 只允许特定用户登录:AllowUsers deploy admin(多个用户空格分隔)
  • 限制来源 IP(适合固定办公网络):AllowUsers admin@192.168.1.* admin@203.123.45.0/24
  • 配合防火墙进一步收紧(如 ufw):sudo ufw allow from 203.123.45.10 to any port 22,再 deny 22 默认拒绝

改默认端口 + 启用 Fail2ban 防爆破

虽然“隐蔽即安全”不绝对,但改端口能过滤掉大量自动化扫描;Fail2ban 则能实时封禁反复失败的 IP。

  • 修改 SSH 端口:Port 22222(选 1024–65535 间未被占用的端口),同时更新防火墙规则放行新端口
  • 安装 Fail2ban:sudo apt install fail2bandebian/ubuntu)或 yum install fail2bancentos
  • 启用并配置 SSH 防护:复制模板 sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local,编辑 jail.local[sshd] 区块,确保 enabled = true
  • 重启服务:sudo systemctl enable fail2ban && sudo systemctl restart fail2ban

开启登录日志审计与定期检查

安全不是“设好就完事”,得知道谁连过、什么时候连、成功还是失败。

  • SSH 日志默认在 /var/log/auth.log(Debian/Ubuntu)或 /var/log/secure(RHEL/CentOS)
  • 快速查看最近登录记录:sudo last -n 20sudo grep “Accepted|Failed” /var/log/auth.log | tail -20
  • 建议搭配 logrotate 自动轮转,并用脚本每周汇总异常 IP,例如统计失败次数 Top 5:sudo grep “Failed password” /var/log/auth.log | awk ‘{print $(NF-3)}’ | sort | uniq -c | sort -nr | head -5

基本上就这些。不复杂但容易忽略——比如改完端口忘了开防火墙,或者关了密码登录却没测试密钥是否真可用。每次调整后花 2 分钟验证下连通性,比出问题半夜爬起来强得多。

text=ZqhQzanResources