Linux SSH怎么加固_SSH安全配置教程

2次阅读

linux ssh加固核心是“关掉密码、用好密钥、缩窄入口”,需组合实施:改非标端口(如4321)、强制密钥认证(pubkeyauthentication yes且passwordauthentication no)、禁止root直连(permitrootlogin no)、创建sudo普通用户,并规范生成部署ed25519等强密钥。

Linux SSH怎么加固_SSH安全配置教程

Linux SSH加固核心是“关掉密码、用好密钥、缩窄入口”,不是只改一个配置就能高枕无忧。重点在于组合策略:端口非标 + 密钥强制 + root禁登 + 权限收紧。

改默认端口,避开扫描盯梢

22端口是暴力破解的头号目标。编辑 /etc/ssh/sshd_config,找到并修改:

  • Port 4321(替换成 1024–65535 范围内未被占用的端口)
  • 保存后执行 sudo systemctl restart ssh 生效
  • 别忘了同步更新防火墙规则,比如 UFW: sudo ufw allow 4321/tcp

禁用密码登录,只认私钥

密码认证容易被爆破,必须关闭。在 /etc/ssh/sshd_config 中确认以下两行:

  • PubkeyAuthentication yes(确保开启公钥认证)
  • PasswordAuthentication no(彻底禁用密码登录)

改完重启服务。注意:务必先用密钥成功登录一次再禁密码,否则可能锁死自己。

禁止root远程直连,用普通用户提权

直接允许 root 登录等于给攻击者递钥匙。在配置文件中设为:

  • PermitRootLogin no
  • 创建专用管理账户(如 admin),用 useradd -m -s /bin/bash admin 创建
  • 把该用户加入 sudo 组:usermod -aG sudo admin

密钥生成与部署要规范

本地生成强密钥(推荐 4096 位 RSA 或 Ed25519),命令示例:

  • ssh-keygen -t ed25519 -C “admin@myserver”(更安全更快)
  • 公钥传到服务器:ssh-copy-id -p 4321 admin@192.168.1.100
  • 服务器端检查 ~/.ssh/authorized_keys 权限是否为 600,目录 .ssh 是否为 700

私钥文件切勿泄露,windows 用户建议用 OpenSSH 内置工具或 PuTTYgen 生成,避免第三方客户端明文存密。

text=ZqhQzanResources