记录主机体验,分享建站经验RSS 订阅 ↗

Linux SSHD 安全加固:密钥认证与回滚指南

SSH 服务加固分阶段示意:保留入口,新策略校验,验证后启用

SSH 服务加固分阶段示意:保留入口,新策略校验,验证后启用

SSHD 加固的首要目标:不锁死合法管理员

OpenSSH sshd 提供服务器端加密远程登录。真正有效的加固顺序是:更新仍受支持的系统、减少公网暴露、建立独立管理员账号和密钥认证、再审查 root 登录与密码策略。仅修改默认端口无法防止已泄露的密钥被滥用。

安全变更四步

  1. 保留现有 SSH 会话,确认云控制台或 KVM 带外访问可用,备份 sshd_config 及 drop-in 文件。
  2. 建立非 root 账户,配置 ~/.ssh/authorized_keys 并从另一终端成功登录。
  3. 检查 sudo sshd -t 和 sudo sshd -T | grep -E '^(permitrootlogin|passwordauthentication)';注意发行版可能有覆盖配置。
  4. 逐项重载服务、测试新连接、确认日志无认证失败,再按实际回滚机制撤销旧入口。

网络与发行版差异

Ubuntu/Debian 常使用 ssh.service,RHEL 类发行版常使用 sshd.service;有的系统采用 socket activation。改端口时同时核对安全组、主机防火墙和 SELinux,否则服务可能未监听或外部不可达。

风险和运维

限制管理员来源 IP、启用多因素认证(若接入方案支持)、监控失败登录与轮换密钥。本文不是对某台主机的已完成安全审计;任何修改应首先在非生产环境演练。

SSHD 变更的安全检查顺序

记录当前登录方式与云控制台入口后,先以普通管理员账号测试公钥认证,确认 sudo 可用且已准备回滚。修改前备份配置并使用 sshd -t 检查语法;sshd -T 能查看最终生效配置,但 Match 条件可能让不同用户的有效设置不同。

sudo cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.before-hardening
sudo sshd -t
sudo sshd -T | grep -E '^(pubkeyauthentication|permitrootlogin|passwordauthentication) '

保持现有会话不关闭,另开窗口完成新密钥登陆验收后再决定关闭口令认证。禁用 root 远程登录要先验证有可用的管理员替代账号。SSH 配置名称与服务管理命令会随发行版而异;不要未经确认就执行重启或批量踢出在线用户。为 CentOS 7 等停止支持的系统加固 SSH 不能取代整机迁移。

相关教程与进一步检查

若需要继续处理实际环境中的关联问题,可阅读CentOS 7 的 SSH 维护;useradd 用户创建与权限可帮助补充不同的选型或验收视角。两者属于独立问题,按当前环境自行核对适用版本。

交流与讨论2 条评论

评论已关闭。