git SSHD配置:PermitUserEnvironment(基于具体情况)

ycggw6v2  于 2023-02-20  发布在  Git
关注(0)|答案(2)|浏览(225)

我有一个git服务器,人们在那里通过ssh建立远程仓库,还有一个git用户,他们都以这个用户的身份连接,这个用户拥有安全的权限等等。
我正在编辑repo中的pre-receive钩子,以便它查看环境变量$GIT_USER是否与该repo的允许用户列表匹配,从而防止未经授权的用户推送。
这个环境变量在git用户的.ssh/authorized_keys文件中单独设置。
但是,除了git之外,我不希望任何用户为ssh设置环境变量。
有没有办法编辑/etc/ssh/sshd_config,使PermitUserEnvironment只对git用户可用?

eaf3rand

eaf3rand1#

解决方法是:

  • PermitUserEnvironment保留为“no”
  • /usr/local/bin/git替换为 Package 器脚本,该脚本将:
  • 设置相关的环境变量
  • 调用实际的git二进制文件。
l7wslrjt

l7wslrjt2#

您可以设置“PermitUserEnvironment no”,并在sshd_config的底部覆盖每个用户的设置:

Match User git
    PermitUserEnvironment yes

那应该能达到你的目的。

相关问题