如何在Linux上搭建git服务器
step1:安装git并修改配置文件
# yum -y install git
# git --version
git version 1.7.1 #注意服务器版本和git版本,不同版本的系统的git配置可能不同
# vim /etc/ssh/sshd_config #修改配置文件允许通过密钥认证
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_key
# service sshd restart #修改配置文件后记得重启服务
step2:添加用户并修改仓库属组和属主
# useradd git # 添加用户,注意这里要和你未来web服务器的名字要相同,如果不是做web服务器用的可以随便取名字
# passwd git# 添加密码
# chown -R git:git /path/to/projectDir/ # 修改仓库的属组和属主
step3: 初始化空仓库
# git init --bare /path/to/projectDir/
step4:客户端生成密钥
$ download https://git-scm.com/download/win #在windows下下载git客户端
$ 安装、右键打开Git Bash
$ ssh git@your web server #ssh连接你的web服务器,如ssh git@10.10.12.12, 这里是git是你刚刚添加的用户
The authenticity of host 10.10.12.12 can't be established.
RSA key fingerprint is SHA256:QOnjhqk8HFGY2zTE2V1QsC9aNu4ZsfismYZfsfC3lBs.
Are you sure you want to continue connecting (yes/no)? yes
这里需要输入yes,是ssh的安全机制,用于首次通信,第二次连接就不会有了,此时C:\Users\用户\.ssh 多出一个known_hosts文件
$ ssh-keygen -t rsa #生成公钥和密钥,此时 C:\Users\用户\.ssh\会多出两个文件id_rsa.pub和id_rsa.pub,公钥和私钥,复制id_rsa.pub内容
step5: 复制本地公钥到服务器
# mkdir -p /home/git/.ssh #由配置文件我们把认证信息放到了用户家目录下的.ssh文件夹中,www为刚刚添加的用户
# vim /home/git/.ssh/authorized_keys #粘贴你刚刚复制的id_rsa.pub内容
# chmod 700 /home/git/.ssh/ #为了保证安全性,需要修改权限
# chmod 600 /home/git/.ssh/authorized_keys #修改文件权限
# usermod -s /usr/bin/git-shell git#不允许该用户登录,只能做git操作
如果想要简洁操作可以在Windows git bash上使用这个命令:
ssh-copy-id -i /c/Users/用户名/.ssh/id_rsa.pub git@11.11.12.12
注意:如果有多个人员参与,每个人的公钥都要追加到authorized_keys里面,ssh-copy-id命令会自动创建.ssh文件夹和追加公钥到authorized_keys文件里
step6: tortoiseGit来管理项目
$ download
https://download.tortoisegit.org/tgit/2.4.0.0/TortoiseGit-2.4.0.2-64bit.msi #
https://download.tortoisegit.org/tgit/2.4.0.0/TortoiseGit-LanguagePack-2.4.0.0-64bit-zh_CN.msi #官方汉化工具
$ 在项目文件上,右键
URL:git@11.11.12.12:/path/to/projectDir/