LinuxSSH安全怎么提升_高频场景实战指导更易上手【教学】

7次阅读

Linux SSH 安全核心是围绕“谁在连、怎么连、连什么”做减法:禁用密码登录强制密钥认证、改默认端口并限制 IP、启用 Fail2ban 防爆破、添加登录 Banner 或 2FA,每项均可 5 分钟验证生效。

LinuxSSH 安全怎么提升_高频场景实战指导更易上手【教学】

Linux SSH 安全不是堆配置,而是围绕“谁在连、怎么连、连什么”三件事做减法——关掉默认风险,收紧访问路径,留出可审计痕迹。下面这些操作,都是生产环境高频踩坑后验证有效的实战动作,改完就能见效。

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

90% 的暴力破解攻击止步于这一步。密码登录是最大软肋,尤其 root + 密码组合等于敞开大门。

  • 生成强密钥对(本地执行):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
PasswordAuthentication no
PermitRootLogin no

改完别忘重启服务:sudo systemctl restart sshd。建议先开一个保留会话,测试新连接成功后再关闭旧会话。

改默认 端口 + 限制登录 IP 范围

不求隐蔽,只为过滤掉扫描器的无效流量。SSH 默认 22 端口是所有自动化 工具 的起点。

  • 修改端口:在 /etc/ssh/sshd_config 中取消注释并改行:Port 2222(选 1024–65535 间非知名端口,避开常用如 8080、3306)
  • 限制来源 IP(推荐用 ufw):sudo ufw allow from 203.0.113.44 to any port 2222,再 sudo ufw enable
  • 若用 云服务 器(如 阿里云、AWS),务必同步在安全组里放行新端口 + 指定 IP,否则直接失联

启用 Fail2ban 防爆破,5 分钟上手

它不是 防火墙,而是“盯日志 + 自动拉黑”的轻量级守门员,对反复失败登录的 IP 自动封禁(默认 10 分钟)。

  • 安装:sudo apt install fail2ban(Ubuntu/Debian)或 sudo yum install epel-release && sudo yum install fail2ban(CentOS)
  • 启用基础规则:sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local,然后编辑 jail.local,确认有:

[sshd]
enabled = true
maxretry = 3
bantime = 600

启动服务:sudo systemctl enable fail2ban && sudo systemctl start fail2ban。可用 sudo fail2ban-client status sshd 查当前封禁情况。

加一层登录前校验:SSH banner 或 2FA(进阶但实用)

不是所有场景都需要 Google Authenticator,但一个清晰的法律提示 banner 能降低误操作和法律风险;真需要高安全,2FA 可无缝接入 OpenSSH 8.2+。

  • 加登录横幅(提醒 + 留痕):在 /etc/ssh/sshd_config 加一行:Banner /etc/issue.net,然后 echo“UNAUTHORIZED ACCESS PROHIBITED”> /etc/issue.net
  • 启用 2FA(仅限 OpenSSH ≥ 8.2):AuthenticationMethods publickey,keyboard-interactive:pam,再配好 PAM 模块(如 libpam-google-authenticator)。适合运维后台、财务系统等关键节点

基本上就这些。没用复杂工具链,每项都能 5 分钟内验证生效。安全不是一步到位,而是每次登录都少一个可利用路径。

text=ZqhQzanResources