
SSHD 加固的首要目标:不锁死合法管理员
OpenSSH sshd 提供服务器端加密远程登录。真正有效的加固顺序是:更新仍受支持的系统、减少公网暴露、建立独立管理员账号和密钥认证、再审查 root 登录与密码策略。仅修改默认端口无法防止已泄露的密钥被滥用。
安全变更四步
- 保留现有 SSH 会话,确认云控制台或 KVM 带外访问可用,备份
sshd_config及 drop-in 文件。 - 建立非 root 账户,配置
~/.ssh/authorized_keys并从另一终端成功登录。 - 检查
sudo sshd -t和sudo sshd -T | grep -E '^(permitrootlogin|passwordauthentication)';注意发行版可能有覆盖配置。 - 逐项重载服务、测试新连接、确认日志无认证失败,再按实际回滚机制撤销旧入口。
网络与发行版差异
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 条评论
评论已关闭。