1

我在一个服务器上从另一个服务器上运行一个简单的命令(这是一个更大的部署过程问题的一部分)时遇到问题。

用户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 成功完成。

对此的任何想法都将受到欢迎。

谢谢你。

4

1 回答 1

1

如果ssh gitolite@repo1有效,那么这就是您必须用于 gitolite 的 ssh 地址。
Gitolite 本身将调用 git,并且服务器上的 ssh 设置可能会在内部gitolite@repo1.x:2011用于该 git 调用。

但对于最终用户,gitolite 的客户端,git ls-remote ssh://gitolite@repo1/proto_projectname_rails将起作用。

于 2012-11-26T18:59:02.463 回答