我正在尝试使用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的新手,尝试了一千件事而无法让它发挥作用。什么可能是错的?
答案 0 :(得分:1)
这是一个ssh身份验证问题,而不是一个git问题。您通常会查看/var/log/secure
或类似信息,以了解ssh拒绝连接的原因。你想确保:
authorized_keys
文件authorized_keys
文件的权限为600
(rw-------
).ssh
目录的权限为700
(rwx------
)gitolite
用户答案 1 :(得分:1)
生成您自己的密钥对。由您自己的用户执行
cd ~/.ssh ssh-keygen -t rsa username
确保您的公钥(username.pub)已上传到gitolite / keydir文件夹中。由于你将redmine与gitolite捆绑在一起,这可能意味着redmine正在管理这些公钥,你需要将它们上传到Redmine,以便Redmine可以更新admin-repository。请注意,您无法手动添加密钥,您需要提交并通过admin-repository推送它们(redmine应该在您的情况下执行此操作)
一旦您的公钥在gitolite中注册,请尝试在系统中注册您自己的密钥:
exec ssh-agent bash ssh-add ~/.ssh/private-key-name
再次尝试连接