LinuxSSH安全怎么提升_关键技巧整理帮助提高效率【指导】

9次阅读

linux ssh安全需从认证、访问控制、日志监控 和配置优化四层面加固:禁用密码登录启用密钥认证;限制 AllowUsers/DenyUsers 及 IP;修改 端口 并部署 F ail2ban;配置详细日志与空闲超时。

LinuxSSH 安全怎么提升_关键技巧整理帮助提高效率【指导】

Linux SSH 安全不是“开个服务就行”,而是需要从认证、访问控制、日志监控 和配置优化四个层面主动加固。下面这些技巧不复杂,但容易忽略,实操性强,能显著降低暴力破解、未授权访问等风险。

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

密码登录是暴力破解的主要入口。启用密钥认证后,攻击者即使知道用户名也极难登录。

  • 在客户端生成密钥对:ssh-keygen -t ed25519 -C “your_email@example.com”(推荐 ed25519,更安全高效)
  • 将公钥复制到服务器:ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip
  • 编辑 /etc/ssh/sshd_config,确认以下两项已设置:
    • PubkeyAuthentication yes
    • PasswordAuthentication no(改完记得 systemctl restart sshd

限制 SSH 访问范围与用户权限

不是所有用户都需要 SSH 权限,也不是所有 IP 都该被允许连接。

  • 只允许特定用户登录:在 sshd_config 中添加 AllowUsers alice bob@192.168.1.*(支持用户名 +IP 组合)
  • 禁止高危账户远程登录:DenyUsers root guest(尤其 root,应禁用直接登录)
  • 配合 防火墙 限制来源 IP(如用 ufw):ufw allow from 203.0.113.5 to any port 22,再 ufw enable

修改默认 端口 + 启用 Fail2ban 自动封禁

虽然“隐蔽端口”不是银弹,但配合 Fail2ban 能有效过滤大量 自动化 扫描和爆破尝试。

  • 编辑 /etc/ssh/sshd_config,改 Port 22 为其他端口(如 Port 2222),重启 sshd
  • 安装并启用 Fail2ban:apt install fail2bandebian/ubuntu)或 dnf install fail2ban(RHEL/centos
  • 启用 SSH 监控规则(默认通常已包含),检查 /etc/fail2ban/jail.local[sshd] 是否 enabled = true
  • 查看封禁状态:fail2ban-client status sshd

开启登录日志审计与连接超时控制

及时发现异常行为,避免空闲会话长期滞留造成风险。

  • 确保日志记录完整:确认 /etc/ssh/sshd_config 中有 LogLevel VERBOSE 或更高(如 INFO),日志路径通常为 /var/log/auth.log/var/log/secure
  • 缩短空闲连接时间:ClientAliveInterval 300(每 5 分钟发一次心跳)
    ClientAliveCountMax 2(两次无响应即断开,约 10 分钟无操作自动退出)
  • 定期清理旧密钥和失效用户,配合 lastb 查看失败登录、last 查看成功登录,形成基本审计习惯

基本上就这些。不需要一步到位,挑 2–3 项优先落地(比如先关密码登录 + 设 Fail2ban),就能明显提升防护水位。安全不是功能开关,而是持续的习惯和验证。

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