LinuxSSH安全怎么提升_操作步骤详解提升实战能力【技巧】

3次阅读

linux ssh安全提升聚焦四大关键动作:禁用密码登录启用密钥认证(ed25519 优先)、禁止 root 直连并限制 AllowUsers、修改 端口 配合 防火墙 精准放行、启用 f ail2ban 及加固协议 算法;建议按序实施并逐项验证。

LinuxSSH 安全怎么提升_操作步骤详解提升实战能力【技巧】

Linux SSH 安全提升不是靠 配置,而是聚焦几个关键动作:关掉高危入口、换掉弱认证方式、加一层访问控制。下面这些操作在主流发行版(ubuntu 22.04+/centos 8+/RHEL 9+)上均可直接执行,每一步都有明确目的和验证方法。

禁用密码登录,只用密钥认证

这是最有效的单步加固——暴力破解几乎立刻失效。前提是已配好密钥且能稳定登录。

  • 本地生成强密钥:ssh-keygen -t ed25519 -C "admin@prod"(优先选 ed25519,比 RSA 更快更安全)
  • 上传公钥到服务器:ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip
  • 登录服务器后,编辑 /etc/ssh/sshd_config,确认以下两行:
    PubkeyAuthentication yes
    PasswordAuthentication no
  • 重启服务:sudo systemctl restart sshd
  • ⚠️ 操作前务必新开一个终端,用密钥成功登录一次再关闭旧连接,避免锁死

禁止 root 直接登录 + 限制可登录用户

消除最高权限账户暴露面,同时缩小攻击目标范围。

  • /etc/ssh/sshd_config 中设置:
    PermitRootLogin no
    AllowUsers deploy admin backup(只写你真正需要 SSH 的用户名,多个空格分隔)
  • 如需按组限制,可用:AllowGroups ssh-users,然后用 sudo usermod -aG ssh-users username 加入用户
  • 改完立即生效,无需重启,但新连接才受控;已有 root 会话不受影响

端口 + 配合 防火墙 精准放行

不为“防高手”,只为过滤掉 99% 的 自动化 扫描流量——实测日志中无效尝试下降两个数量级。

  • 修改端口(例如改为 5678):Port 5678(写在 sshd_config 顶部或单独一行)
  • 防火墙同步更新:
    Ubuntu:sudo ufw allow 5678/tcp && sudo ufw deny 22/tcp
    RHEL/CentOS:sudo firewall-cmd --permanent --add-port=5678/tcp && sudo firewall-cmd --reload
  • SELinux 用户额外执行:sudo semanage port -a -t ssh_port_t -p tcp 5678
  • 测试连接:ssh -p 5678 user@server_ip

启用失败锁定 + 协议与算法加固

堵住暴力破解最后一道缝隙,并淘汰已知有漏洞的加密组件。

  • sshd_config 中添加或修改:
    Protocol 2
    MaxAuthTries 3
    LoginGraceTime 45
    Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com
    macs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com
  • 装 fail2ban(自动封 IP):sudo apt install fail2bansudo yum install fail2ban
  • 启用默认 jail:sudo systemctl enable --now fail2ban,它会自动监控 /var/log/auth.log 并封禁多次失败的 IP

基本上就这些。不需要全部一步到位,建议按顺序做:先密钥 → 再禁 root 和限用户 → 接着改端口 + 防火墙 → 最后加 fail2ban 和算法加固。每做完一项,用另一台机器测试连接,留好应急回滚路径(比如 console 访问或云平台 VNC)。

站长
版权声明:本站原创文章,由 站长 2025-12-20发表,共计1593字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources