一般小的团队搭建内部使用git服务器,与svn不一样,在git里,把每个人的公钥收集起来放到服务器的/home/git/.ssh/authorized_keys文件里就是可行的。如果团队有几百号人,就没法这么玩了,这时,可以用Gitlab来管理公钥和权限,Gitlab类似Github。客户端ssh证书登录的整个实施过程如下:
1.在你的客户端机器上,执行 ssh-keygen -t rsa -C "xxxx@yyy.zzz" 生成ssh证书,如果实在windows下,可以在git bash中执行.
2.将id_rsa.pub传到 git服务器,使用命令 cat id_rsa.pub >> authorized_keys (注意是>>,不是>,>会覆盖旧的数据
3.ssh文件夹要被置为700权限,authorized_keys要被置为 600权限
4.在客户端机器上,使用命令 ssh git@git服务ip -vvv,检查是否能登录
5.git clone git@git服务器ip:/home/repository/git/android.git
6.整个过程如果有错,请打开日志调试,具体为:/etc/ssh/sshd_config 中的 LogLevel设置为DEBUG3,然后 重启sshd,服务器端日志在文件:/var/log/secure 中
7.一定要记住安装git
整个过程如果有错,一定会显示在日志 /var/log/secure 中,请详细检查。
注:整个过程也要把selinux关闭
参考:http://blog.csdn.net/typa01_kk/article/details/50542040
http://flysnowxf.iteye.com/blog/1567570