即使提供公钥,Gitosis也需要密码

当我在Archlinux上配置gitosis时,我遇到了一些问题

http://wiki.archlinux.org/index.php/Setting_Up_Git_ACL_Using_gitosis

我提到这个wiki文章,并成功安装了gitosis。

$ sudo pacman -U gitosis-git-20090525-1-i686.pkg.tar.gz
$ sudo -H -u gitosis gitosis-init < /tmp/id_rsa.pub

并修改/srv/gitosis/.ssh/authorized_keys以包含我的本地用户的id_rsa.pub。

但是当我运行git clone作为本地用户时,

$ git clone gitosis@host:gitosis-admin.git

它说

Initialized empty Git repository in /home/wyx/gitosis-admin/.git/
gitosis@10.132.140.73’s password: *****
fatal: ‘gitosis-admin.git’ does not appear to be a git repository
fatal: The remote end hung up unexpectedly

所以git克隆操作失败。我想知道为什么尝试在本地用户的目录(/ home / wyx)中初始化一个空git仓库?由于我已经在.ssh / authorized_keys中添加了本地用户的id_rsa.pub,为什么还要求密码?

创建一个空的存储库,因为这只是git的工作原理:它必须初始化一个备份,才能开始将远程对象拖入。不幸的是,这意味着您必须手动删除空的repo,然后再次尝试克隆。

至于为什么克隆失败,看起来您对远程存储库路径使用错误的语法; git clone不使用scp语法。实际上,如果你不指定一个克隆协议,我相信它采用git协议,而不是ssh,这可能是为什么它要求你输入一个密码。改为:

$ git clone ssh://gitosis@host/~/gitosis-admin.git
http://stackoverflow.com/questions/907004/gitosis-requires-password-even-though-the-public-key-is-given

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:即使提供公钥,Gitosis也需要密码