2010-09-09 188 views
2

我想获得一个git仓库并运行,并在远程ubuntu 8.04服务器上安装git和gitosis。我也有git在我的本地ubuntu 10.04机器上运行。克隆远程git存储库问题

在尝试完成所有工作后,我设法让ssh密钥正常工作。当我键入:

ssh [email protected]

返回:

PTY allocation request failed on channel 0

ERROR:gitosis.serve.main:Need SSH_ORIGINAL_COMMAND in envirement.

Connection to 123.456.789.1 closed.

据我了解,这意味着我成功地连接到服务器和SSH密钥被录取了,但因为它没有得到任何命令它关闭te连接。

当我试图让回购:

sudo git clone [email protected]:gitosis-admin.git

它返回:

Initialized empty Git repository in /home/git/repositories/gitosis-admin/.git/

[email protected]'s password:

的问题是,我没有密码或短语集,也不接受一个空密码或服务器密码或本地机器密码。我明白它应该不需要密码,因为它应该接受ssh密钥(没有密码)并开始下载。

从这个观点来看,我不知道如何让远程repo到我的本地机器,所以我可以开始使用git。我希望有人能指出我正确的方向。

回答

0

验证在您的第一次测试中起作用(ssh [email protected])。如果身份验证失败(或因提示而停止),您将永远不会看到来自gitosis的消息。警告和错误,当你尝试做的,而不是让混帐使用SSH内部正常的,非命令SSH您报道是可以预料的。

但是,您在不同的环境中做了您的克隆(在sudo下)。这个问题也许在于SSH须藤不使用非须藤,测试SSH使用私钥。在我的测试中,即使HOME指向普通用户的主目录,sudo ssh也始终使用~root/.ssh中的文件。

解决方案:

  • 放弃使用须藤的克隆库。
  • 生成另一个SSH密钥对作为根并将其公共组件添加到您的gitosis配置中。

还有一种方法,但它是一个丑陋的;我只会留下一些暗示,因为这对我来说似乎是个不好的主意。您可能让root用户滥用其权力来读取其他用户的私钥文件(如果有的话,您仍然需要输入密码)。

+0

Tnx !!我花了2天试图让这个工作....解决方案非常简单。删除sudo解决了问题,并让我的git仓库启动并运行并正在使用中。 :-) – DivZero 2010-09-11 11:26:26