首页/安全/取证与溯源速查/登录脚本后门(sshrc 与 ForceCommand)
Linux 取证135 条

登录脚本后门(sshrc 与 ForceCommand)

sshd_config 的 ForceCommand 与 /etc/ssh/sshrc、~/.ssh/rc 会在会话建立时执行命令,被写入后可在不改 shell 的前提下长期驻留。

取证与溯源速查安全更新于 2026-10-13

sshd 强制命令核查

sshd 在会话建立后可能执行 /etc/ssh/sshrc 与 ~/.ssh/rc,ForceCommand 还能强制会话只运行指定命令。这几个位置是登录链路上的持久化点:脚本在用户操作之前执行,而且往往不在常规的 shell 启动文件检查范围内。

基本信息

系统级脚本/etc/ssh/sshrc
用户级脚本~/.ssh/rc,受 PermitUserRC 开关控制
强制命令ForceCommand,可写在全局配置或 Match 块中
相关开关PermitUserRC、PermitLocalCommand、AllowUsers、Match
检查位置/etc/ssh/sshd_config 与 /etc/ssh/sshd_config.d/*.conf
权限要求读取系统配置与家目录文件需要 root 或属主权限

典型使用场景

  • 排查登录链路上的持久化脚本
  • 确认是否有会话被强制运行指定命令
  • 检查跳板机与容器内被改造的登录行为
  • 与 sshd 生效配置核对,确认真实行为
  • 审计后按需清理并复测登录是否正常

最小示例

最小示例
grep -Rn 'ForceCommand\|PermitUserRC\|PermitLocalCommand' /etc/ssh/sshd_config /etc/ssh/sshd_config.d/ 2>/dev/null
cat /etc/ssh/sshrc 2>/dev/null                        # 阅读内容,不要执行
ls -l --time-style=long-iso /home/*/.ssh/rc /root/.ssh/rc 2>/dev/null
sshd -T 2>/dev/null | grep -Ei 'forcecommand|permituserrc|permitlocalcommand'
sudo sshd -t                                          # 配置语法检查,改动前后都要做
sudo sha256sum /etc/ssh/sshrc /etc/ssh/sshd_config 2>/dev/null

位置与作用

位置作用注意
/etc/ssh/sshrc登录后全局执行内容改动影响所有用户
~/.ssh/rc登录后按用户执行受 PermitUserRC 控制
ForceCommand强制会话运行指定命令可写在 Match 块中按条件生效
authorized_keys 前缀单密钥的限制与强制命令写在密钥行的行首选项中
sshd -T 输出实际生效的配置文件存在不等于生效
配置文件中有某段内容不等于生效:必须结合 sshd -T 的实际输出判断,尤其注意 sshd_config.d 目录下的覆盖关系。
authorized_keys 行首的 command=、from=、no-pty 等选项只作用于单把钥匙,排查时容易被整行跳过。
Match 块可以按用户、来源地址或组限定 ForceCommand,只做全局搜索容易漏掉条件性配置,阅读时要把 Match 段一并看完。
sshrc 与 rc 文件在会话建立之后、用户命令之前执行,一旦内容有问题会直接影响登录本身,确认改动前先记录文件哈希与时间戳。
阅读这些文件用 cat 直接查看,不要执行其中内容;脚本里可能包含会改变系统状态的命令。

易错点

  • 只看 sshd_config 主文件:新版发行版常把配置拆分到 sshd_config.d 目录,漏查会得出未配置的错误结论
  • 忽略 authorized_keys 行首选项:单密钥限定命令同样能改变登录后的行为
  • 直接执行 sshrc 里的内容:可能触发攻击者预留的动作,只能阅读与计算哈希
  • 改配置后不做语法检查:sshd -t 未通过就重载,可能直接断开全部远程管理通道

数据来源与参考

  • OpenSSH 手册 sshrc(5) 与 sshd_config(5)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌