ssh config在家工作,但不能从另一个目录工作

时间:2013-06-03 13:04:33

标签: ssh gitolite

我可以解决我的问题,但我很好奇它为什么不能按原样运作。

问题:
~/.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。

可能是某个环境变量吗?

1 个答案:

答案 0 :(得分: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搜索。