Git克隆从一个服务器到另一个服务器而没有超级用户访问

时间:2016-08-09 10:07:07

标签: git ssh git-clone

我想为我的同事和我在开发服务器和prod服务器之间设置一个git环境(稍后在本地机器和开发服务器之间)。在prod,init上安装了git,一切都很好。

现在我希望group将prod引入开发,然后才能将经过验证的功能推送到prod。我尝试用

这样做
git clone

问题是,该用户不是超级用户,并且无权访问该路径。所以当然失败了。我无法以root身份连接git clone ssh://sshUser@111.11.11.111:1234/path/to/git/repos/ 。所以我想到了两种可能性:

  • PermitRootLogin no更改为PermitRootLogin no并使用ssh密钥以root用户身份进行连接。我猜它会奏效。
  • 创建另一个超级用户以保持root用户停用,并对该新用户执行完全相同的操作(可能更安全一些)。

但我不确定这是否是正确的方法,或者我是否有其他选择我没有想到/找到有关的信息。

提前致谢!

1 个答案:

答案 0 :(得分:1)

首先在您的生产系统上提供需要root访问权限的应用程序文件并不是一个好主意,并且以您描述的方式进一步打开root帐户是绝对禁止的。这是一个好的(即安全的)方法:

  • 制作论坛myapp和用户myappadm
  • 与您的申请相关的所有内容(即/path/to/git/repos/)都应chown加入myappadm:myapp
  • 所有内容都应该由myappadm编写,但只能由myapp读取。
  • 您的网络服务器之类的内容可以进入群组myapp

(当然,如果您已经拥有myapp这样的群组且只有root而不是myappadm,那么您可以保留该群组,只需将所有内容归为myappadm而不是root。)

完成后,您将从ssh://myappadm@...克隆,一切都会好的。有权访问myappadm的人将无法再接管整台计算机,依此类推。