git - 固态硬盘配置 : PermitUserEnvironment on a case-by-case basis

标签 git sshd

我有一个 git 服务器,人们可以通过 ssh 设置远程存储库,并且有一个 git 用户,他们都以具有安全权限之类的方式连接。

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

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

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

有什么方法可以编辑 /etc/ssh/sshd_config 以便只为 git 用户启用 PermitUserEnvironment 吗?

最佳答案

解决方法是:

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

关于git - 固态硬盘配置 : PermitUserEnvironment on a case-by-case basis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71865559/

相关文章:

PHP Github Pull脚本错误 'permission denied (publickey)'

git - 如何在远程服务器上管理 laravel 4

git - 源代码管理困惑

git - 撤消对 git config 中 receive.denyCurrentBranch 值的更改

linux - 哪个Linux程序将失败的sshd登录尝试写入/var/log/btmp Centos 7

node.js - 在git中正确跟踪yarn的node_modules目录

ssh - Apache MINA SFTP - 文件传输成功后添加回调方法

docker - 无法在boot2docker vm中重新启动sshd

java - SSHD Java 示例

git - 如何确定客户端的 SSH 指纹以在 Git Hook 中使用