我尝试在我的linux-box(Debian)上设置一个git存储库。我想在我的osx Lion上克隆git repo。我安装了gitosis,创建了一个rsa密钥我的电脑(git_rsa),把它放到服务器上,然后是init gitosis。 我有一个〜/ .ssh / config文件,因为ssh端口不是默认端口。我也将git_rsa键添加到我的钥匙串中。 我的〜/ .ssh / config看起来像
主持git
HostName mydomain.com
Port 54321
Identityfile ~/.ssh/git_rsa
User git
当我尝试克隆管理员仓库时:
git clone git:gitosis-admin.git
我给了:权限被拒绝(publickey)。 致命:远程端意外挂断 问题是什么? (密钥被编码为700,ssh与同一密钥完全兼容,但另一个用户)
有人可以给我一个提示,我该如何解决这个问题?
提前致谢。
答案 0 :(得分:3)
好的,我尝试过gitolite,一切正常。这是方法:
apt-get
安装gitolite。gl-setup
命令添加密钥。 不幸的是,我不知道gitosis有什么问题。
答案 1 :(得分:1)
我遇到了这个问题。在全新安装gitosis后,repo gitosis-admin.git的克隆工作得很好。但是,在生成新的RSA密钥对后,使用
重新初始化sudo -H -u git gitosis-init < id_rsa.pub
我也遇到了上述错误。
比较生成的
中的公钥id_rsa.pub
和我的gitosis用户的家(git)
/home/git/.ssh/authorized_keys
我注意到,公钥不匹配。
在 authorized_keys 中替换后, id_rsa.pub 的内容有效。
注意:由于authorizeditkeys文件是由gitosis自动生成和更新的,因此您还必须确保公钥文件(在我的情况下为id_rsa.pub)放在 gydosis-admin存储库的keydir 目录。
答案 2 :(得分:0)
我们已经启动并运行了 gitosis 服务器。
正确的命令应该是 -
git clone [server-git-user]@[domain-name.com]:repo.git
所以,
git clone git@mydomain.com:gitosis-admin.git
假设您在服务器中创建了一个名为git
的用户,并且在gitosis.conf
[group gitosis-admin]
members = key_file_name_in_keydir_folder_without_the_pub_extension
writable = gitosis-admin