osx - gitolite:从终端使用git用户登录

时间:2012-02-16 12:47:17

标签: git ssh gitolite

我在我的OSX Snow Leopard服务器上运行了gitolite,我的git用户一切正常。 我在这里有一个Web服务器,所以我需要从服务器本身拉出来,从服务器上做这件事我没有问题。

但我想要做的是能够从我的工作站使用SSH登录该用户,但是在我的终端中执行ssh git@myserver会产生这个神秘的消息:

  

通道0上的PTY分配请求失败

所以问题是:我如何远程拉取文件以更新我的登台服务器?

感谢所有人。我用谷歌搜索并搜索堆栈溢出但没有找到答案

2 个答案:

答案 0 :(得分:2)

在gitolite中通过ssh以git用户身份登录是不可能的。 默认行为显示有关可用存储库的信息。

在您的情况下,由于此处提到的问题,gitolite无法显示此信息:https://github.com/sitaramc/gitolite/blob/pu/doc/report-output.mkd

  

openssh5.6旁注:openssh 5.6

     

过去,gitolite文档会说“只使用ssh”   git @ server“过去,因为gitolite默认为”info“   命令,如果没有传递命令。

     

但是,从openssh 5.6开始,这将无效。 ssh客户端   现在将“当pty分配请求失败时杀死频道”。这意味着   那个gitolite甚至没有被引用;你只收到关于pty的消息   分配失败,然后是“连接关闭”。

     

所以现在你必须使用一个明确的“info”命令,(ssh git @ server   info)或将-T选项添加到ssh(ssh -T git @ server)。

如果正确完成了所有gitolite的设置,您就可以在不直接使用 ssh 命令的情况下将数据推送到服务器。

答案 1 :(得分:0)

我愿意add the server as user in gitolite,并且鉴于您已经在gitolite中正确设置了所有内容,您将能够使用以下方式克隆您的存储库:

git clone git@your-servers-hostname:repository-name

我认为git将使用ssh隧道进行连接,这就是为git用户禁用标准SSH登录的原因。