SSHD config:PermitUserEnvironment根据具体情况而定



我有一个git服务器,人们在这里通过ssh设置远程存储库,还有一个他们都连接的git用户,它拥有安全权限等等。

我正在编辑repo中的预接收挂钩,以便它查看环境变量$GIT_USER是否与该repo的允许用户列表匹配,以防止未经授权的用户推送。

该环境变量在git用户的.ssh/authorized_keys文件中单独设置。

但是,除了git之外,我不希望为任何用户设置ssh的环境变量。

有没有办法编辑/etc/ssh/sshd_config,使PermitUserEnvironment只为git用户启用?

解决方法是:

  • 保持PermitUserEnvironment为"否">
  • 用包装脚本替换/usr/local/bin/git,该包装脚本将:
    • 设置相关的环境变量
    • 调用实际的CCD_ 7二进制

您可以设置"PermitUserEnvironment否";在sshd_config的底部,您可以覆盖每个用户的设置:

Match User git
PermitUserEnvironment yes

这应该能实现你想要的。

最新更新