我可以解决我的问题,但我很好奇它为什么不能按原样运作。
问题:
在~/.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。
可能是某个环境变量吗?
答案 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搜索。