无法通过gitolite / Redmine克隆/提交git存储库

时间:2012-07-31 00:46:43

标签: git redmine gitolite

我正在尝试使用gitolite设置Redmine并使用本指南http://nsaunders.wordpress.com/2012/04/24/redmine-gitolite-integration/

一切似乎都运行良好,存储库是通过Redmine创建的(我在gitolite / repositories下看到了存储库)。但是,当我尝试使用以下命令初始化存储库时,我不断收到相同的错误消息

mkdir nwi
cd nwi
git init
touch readme.txt
git add readme.txt
git commit -m 'Initializing T repository'
git remote add origin gitolite@localhost:nwi.git
git push -u origin master

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

用户的公钥位于gitolite的autohorized_keys中。用户在我试图提交的存储库的gitolite.conf中。我是git的新手,尝试了一千件事而无法让它发挥作用。什么可能是错的?

2 个答案:

答案 0 :(得分:1)

这是一个ssh身份验证问题,而不是一个git问题。您通常会查看/var/log/secure或类似信息,以了解ssh拒绝连接的原因。你想确保:

  • 公钥位于authorized_keys文件
  • 此文件的格式正确(没有复制和粘贴错误等)
  • authorized_keys文件的权限为600rw-------
  • .ssh目录的权限为700rwx------
  • 所有内容均归gitolite用户
  • 所有

答案 1 :(得分:1)

  1. 生成您自己的密钥对。由您自己的用户执行

    cd ~/.ssh
    ssh-keygen -t rsa username
  2. 确保您的公钥(username.pub)已上传到gitolite / keydir文件夹中。由于你将redmine与gitolite捆绑在一起,这可能意味着redmine正在管理这些公钥,你需要将它们上传到Redmine,以便Redmine可以更新admin-repository。请注意,您无法手动添加密钥,您需要提交并通过admin-repository推送它们(redmine应该在您的情况下执行此操作)

  3. 一旦您的公钥在gitolite中注册,请尝试在系统中注册您自己的密钥:

    exec ssh-agent bash
    ssh-add ~/.ssh/private-key-name
  4. 再次尝试连接