我正在尝试运行git服务器存储库。 我确实安装了gitolite
在ssh上运行git info时,服务器回答
ssh git@myserver info
hello Brian, this is git@hepide01pep1 running gitolite3 on git 1.6.3.2
R W testing
当尝试克隆gitolite-admin存储库时,我收到以下错误
git clone git@myserver:gitolite-admin
Cloning into 'gitolite-admin'...
FATAL: R any gitolite-admin Brian DENIED by fallthru
(or you mis-spelled the reponame)
fatal: The remote end hung up unexpectedly
使用此语法
也会发生同样的事情git clone ssh://git@myserver/gitolite-admin
Cloning into 'gitolite-admin'...
FATAL: R any gitolite-admin Brian DENIED by fallthru
(or you mis-spelled the reponame)
fatal: The remote end hung up unexpectedly
任何人都可以给我一些有用的提示吗?我在这里和网上检查了答案,但没有找到任何帮助我的东西。
答案 0 :(得分:14)
如果您刚刚设置了gitolite,那么接受的答案是一个很好的答案,但如果您是现有安装的新用户,除非您有问题,否则您将得到与问题相同的错误已被添加为管理员。
如果您拥有对服务器gitolite的shell访问权限,请登录并切换到gitolite用户的用户 - 通常称为git
。
登录到gitolite用户后,转到conf文件并在gitolite-admin repo上给自己RW +权限。 Gitolite conf通常位于/home/git/.gitolite/conf/gitolite.conf
(假设用户名为git
)。对于名为Peaches
的gitolite用户,请授予权限:
repo gitolite-admin
RW+ = OriginalAdmin Peaches
保存文件,然后从命令行运行安装程序,仍然是gitolite用户:
gitolite setup
如果您已正确设置为用户,则应该可以立即克隆。
有关添加用户的详情,请参阅the documentation
答案 1 :(得分:8)
gitolite-admin
。
您默认使用的是brian.pub
,只允许您访问testing.git
个回购。
您需要在本地工作站上定义$HOME/.ssh/config
文件,以便记录ssh参数以使用正确的密钥。
请参阅“gitolite: can connect via ssh, can't clone”。
~/.ssh/gitolite.pub
~/.ssh/gitolite
然后我定义了一个配置文件:〜/ .ssh / config in:
host gitolite
user git # replace it by the actual git user for the gitolite server
hostname server.com
identityfile ~/.ssh/gitolite
克隆将起作用:
git clone gitolite:gitolite-admin
OP macbert确认:
我确实将密钥重命名为
git.pub
,运行gitolite setup -pk git.pub
并从brian
中删除旧的.gitolite/keydir
密钥。
之后我得到git clone git@myserver:gitolite-admin
:
Cloning into 'gitolite-admin'...
remote: Counting objects: 15, done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 15 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (15/15), done.
因此,使用正确的默认密钥,ssh git@myserver info
此时应显示“hello”消息中gitolite-admin
repo的正确访问权限。
答案 2 :(得分:1)
通常裸git repos使用 .git 名称。请尝试
git clone git@myserver:gitolite-admin.git