centos服务器下搭建git仓库,使用ssh协议管理仓库代码权限 git官网(http://git-scm.com/)
使用ssh协议:
一、安装git,使用yum install git 或者使用 源码包安装git-2.2.0.tar.gz(https://www.kernel.org/pub/software/scm/git/)
新建git用户与用户组
# useradd git
# passwd git
二,新建git仓库(仓库位置自己随用户自己决定,例/var/git/testproject.git)
1,在/var/git目录下新建 项目名称testproject.git 文件夹
2,# cd /var/git/testproject.git 进入文件夹,
# git init --bare 创建裸库(这里需要注意--bare参数,表示是要生成一个"干净"的仓库)
3,修改权限
# chown -R git testproject.git
# chgrp -R git testproject.git
# chmod -R 775 testproject.git
# chmod g+s -R testproject.git
三,配置ssh公钥(无需密码更新代码库)
1,生成 SSH 公钥:
每个需要使用git仓库的软件开发者,需要在使用git代码库的电脑上面生成一个ssh公钥,具体步骤:
1.1 进入自己的~/.ssh目录(win系统在用户文件夹下:C:\Users\Administrator\.ssh),查看有没有用 文件名 和 文件名.pub 来命名的一对文件,这个 文件名 通常是 id_dsa 或者 id_rsa。
*.pub 文件是公钥,另一个文件是密钥。假如没有这些文件(或者干脆连 .ssh 目录都没有),在linux下,你可以用 ssh-keygen 的程序来建立它们,该程序在 Linux/Mac 系统由 SSH 包提供; 在 Windows 上则包含在 MSysGit 包里,git安装目录中,bin路径下ssh-keygen.exe。
运行后,它先要求你确认保存公钥的位置(.ssh/id_rsa),然后它会让你重复一个密码两次,如果不想在使用公钥的时候输入密码,可以留空。
2, 复制本机的*.pub中的内容添加至git仓库所在服务器的git用户文件夹下的/home/git/.ssh/authorized_keys文件中 可使用命令# $ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys,将公钥内容追加至授权文件中。
如果 ~/.ssh/authorized_keys 不存在,你可以直接将id_rsa.pub 文件复制过去并重命名为authorized_keys即可。
3, ssh使用公钥授权不通过的问题解决:
查看并修改ssh配置文件:
# vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
保存后,service sshd restart 生效
四,使用仓库
1,在获得授权的电脑上,打开git bash,
# git clone [email protected]:/var/git/testproject.git 即可下拉代码且无需密码