首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gitolite管理克隆问题

gitolite管理克隆问题
EN

Stack Overflow用户
提问于 2012-05-24 19:52:28
回答 1查看 8.5K关注 0票数 5

我在克隆with admin存储库时遇到了一个问题,简直要发疯了。我一直在关注这个http://sitaramc.github.com/gitolite/install.html#migr,它运行得很完美。

我运行了ssh-keygen -t rsascp ~/.ssh/id_rsa.pub morten@ubuntu-server:/tmp/morten.pub

服务器上的authorized_keys如下所示:

代码语言:javascript
复制
# gitolite start
command="/home/morten/gitolite/src/gitolite-shell morten",no-port-forwarding,no-X11-forwarding,no-agent-forward$
# gitolite end

哪一个AFAIK是可以的。

当我在客户机上运行git clone morten@ubuntu-server:gitolite-admin时,我得到

代码语言:javascript
复制
fatal: 'gitolite-admin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

我不知道我错过了什么!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-24 21:27:55

使用morten帐户是非常好的。

但是,考虑到您当前的~morten/.ssh/authorized_keys内容,您的安装很奇怪:

您应该使用/home/morten/gitolite/bin/gitolite-shell morten代替/home/morten/gitolite/src/gitolite-shell morten|

这意味着:gitolite-shell应该在您的$PATH中,并且应该在bin目录中,该目录是在执行以下命令后创建的:

代码语言:javascript
复制
"${github}/install" -to "${gtl}/bin"

(参见“”的“实际安装”部分的选项3)

通过以下方式:

  • github您已克隆的路径https://github.com/sitaramc/gitolite
  • gtl您想要安装gitolite的路径(在您的示例中,例如/home/morten/gitolite)

然后,可以更轻松地保存authorized_keys.gitolite.rc文件,并重新执行初始化过程:

代码语言:javascript
复制
gitolite setup -pk "${HOME}/.ssh/gitoliteadm.pub"

(假设您创建了公钥和私钥,将其命名为'gitoliteadm',并使用一个简单的:

代码语言:javascript
复制
ssh-keygen -t rsa -f "${H}/.ssh/morten" -C "Gitolite Admin access (not interactive)" -q -P ""

)

请注意,我故意将'ssh‘帐户名(morten)与gitolite服务器帐户(gitoliteadm)保持不同。

您仍然将使用git clone morten@ubuntu-server:gitolite-admin进行克隆(因为所有的ssh文件都在~morten/.ssh中),但是您将使用gitoliteadm的私钥/公钥来执行此操作,从而提示gitolite使用名为"gitoliteadm“的gitolite”帐户“访问它的存储库。

这样一来,如果您更改了gitolite服务器的物理用户帐户,“逻辑”帐户“gitoliteadm”(指的是角色,而不是个人或资源)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10736964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档