我想为我的同事和我在开发服务器和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用户身份进行连接。我猜它会奏效。但我不确定这是否是正确的方法,或者我是否有其他选择我没有想到/找到有关的信息。
提前致谢!
答案 0 :(得分:1)
首先在您的生产系统上提供需要root
访问权限的应用程序文件并不是一个好主意,并且以您描述的方式进一步打开root
帐户是绝对禁止的。这是一个好的(即安全的)方法:
myapp
和用户myappadm
。/path/to/git/repos/
)都应chown
加入myappadm:myapp
。myappadm
编写,但只能由myapp
读取。myapp
。(当然,如果您已经拥有myapp
这样的群组且只有root
而不是myappadm
,那么您可以保留该群组,只需将所有内容归为myappadm
而不是root
。)
完成后,您将从ssh://myappadm@...
克隆,一切都会好的。有权访问myappadm
的人将无法再接管整台计算机,依此类推。