linux – 通过SSH访问远程Git存储库时使用su / sudo

前端之家收集整理的这篇文章主要介绍了linux – 通过SSH访问远程Git存储库时使用su / sudo前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设 Linux服务器上有一个远程 Git存储库R. R由用户U拥有,对于该用户U,根本不允许通过SSH进行远程登录(例如,根).基于密码和基于密钥的身份验证均不适用于该用户.但是,允许的是以不同的用户身份登录,然后使用su或sudo以U发出命令.

是否可以将这两种方法结合起来,以便Git在远程服务器上使用su或sudo来访问存储库?

或者,是否有另一种方法来访问R而不更改其访问权限或启用U的SSH登录

P.S.:我不介意手动输入密码,例如在su提示下,只要Git处理剩下的事情.

编辑:

评论中可以看出,我需要澄清我想要做这样的事情的理由. R跟踪的文件是有问题的服务器正在使用的系统文件 – R不是裸存储库.这意味着无法真正移动存储库,而不是没有大量的诡计.

让Git使用sudo将允许使用保护这些文件的相同安全模型来访问R,而不是通过必须单独配置和同步的单独途径.

解决方法

更容易建立另一个监听器而不是sshd dameon:设置一个Apache,其中:

>可以以root身份运行
>可以将git查询重定向git-http-backend脚本,这允许通过http的git命令(称为smart http,documented here)

这样,你不必担心sudo和su.

如果需要,您可以将其与身份验证步骤结合使用.

<Location /git>
  AuthType Basic
  AuthName "Private Git Access"
  AuthUserFile "/etc/git-auth-file"
  Require valid-user
</Location>

你甚至可以添加authorization with gitolite.

猜你在找的Linux相关文章