标签:Git git rsa pub gitolite 公钥 Gitolite id 轻量级
使用Gitolite搭建轻量级的Git服务器
1. 添加git用户
useadd git
passwd // 为git设置密码
2. 安装git
yum install git -y
3. 安装Gitolite
1. 在 /home/git/ 下,mkdir bin , mkdir key
2. 在 /home/git/ 下,git clone https://github.com/sitaramc/gitolite
3. 在 /home/git/ 下,${HOME}/gitolite/install -to ${HOME}/bin
此时已经可以克隆了 git clone git@xx.xx.xx.xx:testing.git,只不过要输入服务器git用户的密码
4. 为登录者添加公钥
比如A需要git clone 这台gitolite服务器,A需要把它的公钥放到服务器上
A如果还没有私钥公钥,就用ssh-keygen -t rsa 生成,在任意一台机器上生成这对密钥都行,
然后把私钥 id_rsa 放在A主机A家目录 .ssh/ 下,把公钥 id_rsa.pub 放在gitolite服务器的 /home/git/key/ 下
把A的公钥加到gitolite密钥管理库中,这步很关键,方法如下:
在gitolite服务器 /home/git/ 下,${HOME}/bin/gitolite setup -pk ./key/id_rsa.pub
5. A主机可以git clone git@xxx.xxx.xxx.xxx:testing.git 了
注意事项:
A把它的公钥 id_rsa.pub 放在gitolite服务器 /home/git/key/ 下,如果B也把它的公钥 id_rsa.pub 放在gitolite服务器 /home/git/key/ 下,id_rsa.pub就会冲突
所以 A 应该重命名它的公钥 id_rsa.pub,比如重命名为 A_id_rsa.pub。那么 B 也应该重命名它的公钥 id_rsa.pub 为 B_id_rsa.pub。
把A的公钥加到gitolite密钥管理库中,${HOME}/bin/gitolite setup -pk ./key/id_rsa.pub,这条命令会往 服务器 git家目录 .ssh/authorized_keys加入一些东西,正因为此,你才能用自己的私钥 不用密码 克隆仓库
所以 服务器下 git 家目录 .ssh/authorized_keys除了 这条命令 ${HOME}/bin/gitolite setup -pk ./key/id_rsa.pub 往 authorized_keys加东西,你不能往里面加公钥,虽然能加,但会出现这种情况
fatal: 'gitolite-admin' does not appear to be a git repository
这种情况出现的原因,是A将它的公钥直接放到服务器 ~git/.ssh/authorized_keys 里,这样A 克隆 git clone git@xx.xx.xx.xx:gitolite-admin.git 虽然不用密码能通过,能通过是因为它的公钥在 ~git/.ssh/authorized_keys里,但A通过后,此时位于服务器的~git/ ,在git的家目录里,并不是在服务器的 ~git/repositories/ 下,所以想要克隆成功,需要这样 git clone git@xx.xx.xx.xx:repositories/gitolite-admin.git
为了不出现这种情况,不要直接将你的公钥放进authorized_keys里,而是先放到服务器 ~git/key/your_rsa.pub,再 ${HOME}/bin/gitolite setup -pk ./key/your_rsa.pub,由这条命令将你的公钥加入到authorized_keys里
再强调一遍: gitolite服务器的 ~git/.ssh/authorized_keys文件只能由 ${HOME}/bin/gitolite setup -pk ./key/id_rsa.pub 这条命令往里加公钥,不能直接加,如cat your_rsa.pub >> authorized_keys。
标签:Git,git,rsa,pub,gitolite,公钥,Gitolite,id,轻量级 来源: https://www.cnblogs.com/lingke666/p/15413144.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。