LinuxSSH安全怎么提升_从基础到进阶全流程讲透【教学】

3次阅读

linux ssh 安全需分层加固:禁用 root 密码登录、强制密钥认证并限制密钥权限;改非标端口配合防火墙限流;启用详细日志与 fail2ban 自动封禁失败登录,实现可追溯、快响应、密钥生命周期管理。

LinuxSSH安全怎么提升_从基础到进阶全流程讲透【教学】

Linux SSH 安全不是“开个防火墙+改端口”就完事,而是要分层加固:从连接入口、身份认证、会话控制,到日志审计和持续防护。关键在切断攻击链路,而非只堵一个漏洞。

关掉默认登录,禁用 root 远程直连

root 直连是攻击者首选目标,一旦密码弱或被爆破,系统即失守。必须禁止 root 通过 SSH 密码登录,仅保留密钥方式(且需单独授权)。

  • 编辑 /etc/ssh/sshd_config,设 PermitRootLogin no
  • 确保 PasswordAuthentication no(关闭所有密码登录,强制密钥)
  • 新增普通用户(如 admin),用 usermod -aG sudo admin 赋权
  • ssh-copy-id admin@server 部署密钥后,再重启 sshd:sudo systemctl restart sshd

用非标端口 + 主机级防火墙双过滤

改端口不能防扫描,但能过滤掉 90% 的自动化脚本攻击;配合防火墙可精准控流,避免误伤合法连接。

  • sshd_config 中改 Port 2222(避开 22,别用太冷门如 65535,易被策略拦截)
  • ufw 限制来源 IP:sudo ufw allow from 192.168.1.100 to any port 2222
  • 启用连接速率限制(防暴力尝试):sudo ufw limit 2222/tcp
  • 确认规则生效:sudo ufw status verbose

密钥必须强管控:禁用空密码、限制用途、定期轮换

私钥丢了=服务器裸奔。生成时就要设密码,部署后还要限制可登录的命令和路径。

LinuxSSH安全怎么提升_从基础到进阶全流程讲透【教学】

Gaga

曹越团队开发的AI视频生成工具

LinuxSSH安全怎么提升_从基础到进阶全流程讲透【教学】 1151

查看详情 LinuxSSH安全怎么提升_从基础到进阶全流程讲透【教学】

  • 生成带密码的密钥:ssh-keygen -t ed25519 -a 100 -C “admin@prod”(-a 指定密钥派生轮数)
  • 服务端 ~/.ssh/authorized_keys 中,为每条公钥加限制前缀:
    command=”/bin/false”,no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-ed25519 AAAA…
  • 设置密钥过期时间(靠文件权限+人工流程):生成时记日志,6个月后强制重签,旧密钥从 authorized_keys 删除

开启登录审计 + 失败自动封禁

不记录谁连过、怎么连的,等于没监控;不自动封 IP,等于给攻击者无限试错机会。

  • 确保 LogLevel VERBOSEMaxAuthTries 3 在 sshd_config 中启用
  • fail2ban 监控 /var/log/auth.log:
    创建 /etc/fail2ban/jail.local,加入:
    [sshd]
    enabled = true
    maxretry = 3
    bantime = 1h
    findtime = 10m
  • 重启服务:sudo systemctl restart fail2ban,用 fail2ban-client status sshd 查实时状态

基本上就这些。真正安全不是配置,而是让每次登录都有据可查、每次失败都立即响应、每个密钥都有生命周期。做扎实了,SSH 就不是漏洞入口,而是可信通道。

text=ZqhQzanResources