我在我的OSX Snow Leopard服务器上运行了gitolite,我的git用户一切正常。 我在这里有一个Web服务器,所以我需要从服务器本身拉出来,从服务器上做这件事我没有问题。
但我想要做的是能够从我的工作站使用SSH登录该用户,但是在我的终端中执行ssh git@myserver
会产生这个神秘的消息:
通道0上的PTY分配请求失败
所以问题是:我如何远程拉取文件以更新我的登台服务器?
感谢所有人。我用谷歌搜索并搜索堆栈溢出但没有找到答案
答案 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登录的原因。