2

我可以解决我的问题,但我很好奇为什么它没有按应有的方式工作。

问题:
~/.ssh/config一个条目:

Host git
HostName git.myserver.com
User gitolite
Identityfile gitolite

在我运行时在我的主目录中之后:ssh git它返回此文本(这是正常的事情):

PTY allocation request failed on channel 0

hello myname, this is gitolite@myserver.com running gitolite3 v3.4-3-g797a81f on git 1.7.2.5

 R W    myrepo1
 R W    myrepo2
 R W    .
 R W    .
 R W    .
Connection to git.myserver.com closed.

但是当我ssh git从我的/opt/poky目录运行时,它无法使用我的文件对我进行身份验证......或者我不知道问题出在哪里,但结果是:

gitolite@myserver.com's password:

最有趣的是,当我将.git/config's url变量从更改git:poky为时,gitolite@git.myserver.com:poky一切正常。

这似乎更像是一个 ssh 问题而不是 gitolite。

它可能是一些环境变量吗?

4

1 回答 1

2

您的配置文件应该包含您的私钥/公钥的完整路径:

Identityfile /path/to/gitolite

除此之外,请确保$HOME在两种情况下都相同,并且您正在使用相同的用户 ID 运行这些命令,以排除任何权限访问。

最有趣的是,当我将.git/config's url变量从更改git:poky为时,gitolite@git.myserver.com:poky一切正常。

这意味着您的公钥/私钥(名为~/.ssh/gitolite(.pub))被复制为~/.ssh/id_rsa(.pub),这是这些密钥的默认名称,由 ssh 搜索。

于 2013-06-03T13:24:17.973 回答