上次写到在Ubuntu上通过gitolite创建git服务器(这里),刚开始没遇到啥问题,后来来了一些新员工,发现后面新加的key都用不了!
折腾了许久,Google了很多文章后,终于解决了这个问题。
1. 如何查看用户是否添加成功?
用户的添加步骤是,用户自己通过ssh-keygen -t rsa 方式生成key对,然后把公钥通过username.pub发给你(管理员);你给他通过git上传到gitolite-admin\keydir文件夹中。
commit后,你可以在ubuntu上的/home/git/.gitolite/keydir中看到新添加的公钥;如果正常,通过git用户登陆,可以在/home/git/.ssh/authorized_keys看到鉴权通过的用户。
如果失败,就是这个文件里没有你新加的用户!
2.为啥失败呢?
这是gitolite的一个已知的bug!看到很多文章写了不同的解决方案,不过这边就写一个我这边验证可行的方案,升级gitolite。
升级的步骤和安装一样,先clone代码,然后install&setup。另外需要注意的是,用puttygen生成的key对gitolite不认,必须使用ssh-keygen去生成key对。