我在一台服务器上运行一个简单的命令(这是一个更大的部署过程问题的一部分)时遇到了麻烦。
用户gitolite:
我可以在返回时将该用户ssh用于该框
X@repo2:~$ ssh gitolite@repo1
PTY allocation request failed on channel 0
hello repo2, this is gitolite v2.1-19-g36dfb85 running on git 1.7.0.4
the gitolite config gives you the following access:
R W proto_projectname_rails
@R_ @W_ testing
Connection to repo1.x closed.
但是当我尝试运行git ls-remote ssh://gitolite@repo1.x:2011 / proto_projectname_rails时会提示输入密码。
我的gitolite.conf有行
repo proto_projectname_rails
RW+ = MBP
RW+ = repo2
并且公钥在我的keydir中具有相同的名称,例如repo2.pub。 我也跑了
gl-setup repo2.pub
更新了authorised_keys以包含repo2。
我完全没有想过我还需要做什么。如果我从我的本地机器运行相同的命令。即从MBP成功完成。
对此的任何想法都非常受欢迎。
谢谢。
答案 0 :(得分:1)
如果ssh gitolite@repo1
有效,那么这就是你必须用于gitolite的ssh地址
Gitolite本身会调用git,服务器上的ssh设置可能会在内部使用gitolite@repo1.x:2011
进行git调用。
但是对于最终用户来说,gitolite的客户端git ls-remote ssh://gitolite@repo1/proto_projectname_rails
会起作用。