如何在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/