Linux SSH安全提升核心是收缩攻击面、强化身份验证、可控访问行为:关闭22端口和root登录,改用密钥认证,限制用户/IP/登录尝试,并保持最小权限与日志监控。

Linux SSH 安全提升,核心不在堆砌配置,而在于收缩攻击面 + 强化身份验证 + 可控访问行为。只要抓住这三点逻辑,就能快速构建有效防线,不靠玄学,也不用背命令。
关掉默认端口和 root 登录——最直接的减法
22 端口是扫描器第一目标,root 直接登录等于把大门钥匙挂在门把手上。这不是“可能被攻破”,而是“等着被扫到就进”。关闭它们不是防高手,是筛掉 90% 的自动化攻击。
- 改 SSH 端口:编辑 /etc/ssh/sshd_config,改 Port 22 为比如 Port 2222(避开常见高位端口如 8080、3389,也别用太冷门的如 65535)
- 禁 root 登录:设 PermitRootLogin no,确保 root 无法直连
- 改完必须执行 sudo systemctl restart sshd,再新开终端测试新端口能否连上(别关原连接!)
用密钥替代密码——让暴力破解彻底失效
密码再复杂,也扛不住离线爆破或键盘记录;而 SSH 密钥本质是数学难题,私钥不泄露,就不可能伪造登录。这不是“更安全一点”,是安全等级的跃迁。
- 本地生成密钥对:ssh-keygen -t ed25519 -C "your_email@example.com"(优先选 ed25519,比 rsa 更快更安全)
- 上传公钥到服务器:ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host -p 2222(注意指定新端口)
- 服务端禁用密码登录:在 sshd_config 中设 PasswordAuthentication no,再重启 sshd
- 保留一个备用管理员账号(非 root)+ 密钥,并确保本机私钥有密码保护(passphrase)
限制谁能连、从哪连、连几次——把访问管起来
SSH 不是开放接口,是入口闸机。放行范围越小,出事概率越低;失败次数不限,等于帮攻击者试密码。
- 只允特定用户登录:AllowUsers alice bob(拒绝所有其他用户,包括新建账号)
- 限制来源 IP(适合固定办公网):AllowUsers alice@192.168.1.* 或配合防火墙(如 ufw)限制 2222 端口仅对某 IP 段开放
- 防暴力试探:MaxAuthTries 3 + LoginGraceTime 30(30 秒内最多试 3 次,超时断连)
- 可选加 fail2ban:自动封禁频繁失败的 IP(需额外安装配置,但对公网服务器强烈建议)
保持最小权限与可观测性——上线后不能撒手不管
安全不是设完就完事。权限过大、日志不看、版本老旧,都会让前面所有配置形同虚设。
- 普通运维走普通账号,提权用 sudo,且 sudoers 配置精确到命令(不用 NOPASSWD 全开)
- 定期查登录日志:sudo grep "Accepted\|Failed" /var/log/auth.log,关注异常 IP 和时间
- 保持 OpenSSH 版本更新:apt list --upgradable | grep openssh(Debian/Ubuntu)或 dnf list updates | grep ssh(RHEL/CentOS)
- 禁用不必要功能:PermitEmptyPasswords no、UseDNS no(防反向 DNS 拖慢登录,也减少信息泄露)
基本上就这些。不复杂,但容易忽略——比如改了端口却忘了开防火墙新端口,或关了密码登录却没确认密钥真能用。每步做完,都用新终端实测一次。安全不是配置越多越好,而是每一步都闭环、可验证。
以上就是LinuxSSH安全怎么提升_核心逻辑讲解助你快速掌握【教学】的详细内容,更多请关注php中文网其它相关文章!