歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> CentOS系統怎麼搭建Git版本控制服務器

CentOS系統怎麼搭建Git版本控制服務器

日期:2017/2/28 11:58:49   编辑:Linux技術

  CentOS系統怎麼搭建Git版本控制服務器?CentOS上搭建Git是大家非常常用的一個分布式版本控制軟件了,比起svn像是要強大了許多了,下面學習啦小編就為各位介紹一下在CentOS上搭建Git服務器步驟吧。

  CentOS系統搭建Git版本控制服務器方法

  1.yum安裝Git服務器

  代碼如下:

  [root@git ~]# cd src/

  [root@git src]# wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

  [root@git src]# rpm -ivh epel-release-5-4.noarch.rpm

  Preparing... ########################################### [100%]

  package epel-release-5-4.noarch is already installed

  [root@git ~]# yum list

  [root@git ~]# yum install -y git

  2.創建一個git用戶,用來運行git服務

  代碼如下:

  [root@git ~]# adduser git

  3.創建客戶端登錄證書

  注,收集所有需要登錄的用戶的公鑰,就是他們自己生成的id_rsa.pub文件,把所有公鑰復制到/home/git/.ssh/authorized_keys文件裡,一行一個。嘿嘿!

  1).客戶端生成id_rsa.pub文件的命令

  代碼如下:

  $ ssh-keygen -t rsa

  $ cat .ssh/id_rsa.pub

  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NwUHeNNi+PC6KlrcJrXXDmKxRMmgHIPp79sgX6zqfdSlmNj7rBPQeyEKS9Wg8yI6jd8aG2jsUx99Vjti2VK2vEXKkRHxwID7ri69gE71RfDtv6ekafnzLo14J8hAp0spMk+N3wEAQRYDmcYo1wmnm/jMBedGrHj4NJQ1vYy1hVtJasGMSzjcMrlz9qvaluWnQ5tQjKFQVVwKsRRRzs8qTvzVhLJt4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+eN3wx2aeztdevxu9plggtG05SMmd8GNVzXrN1IaxXSvz0UwjQ2kygu7aCqO8AZWH49rouw== leo@LEO-PC

  注,一路回車即可,將生成的id_rsa.pub,復制給管理員,幫你在服務器上增加一下,下次你用git時就不需要輸入用戶名和密碼了。

  2).查看服務器上authorized_keys文件

  代碼如下:

  [root@git ~]# cat /home/git/.ssh/authorized_keys

  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwMU4FKB6NRc3XSoIunWsdvVVuSoncbVb5Al6lB3ciswBVd++YmJFhqwkITNGccrO5sycROs9+Fbjgd6oBSzNuaBtCIbwNNsEyM/henTl2euI3XsnJQ/ITr6c/q0P3WoGl4E2QFQ2kZqs+1eDC0CgHcBrqvFv1Jr414sVYK9lfZwIF+jDdtaBOrSJuq1Agx9pGUFUEB4tQfkXxsWm/MvOmKAVvduKDE1eenUEL9zzyeELPcSXLe3NOoTjZhkX6EEXxQR1ZiZRFywLpfM4qopZ10to2KIUyVtzw6hx6V3cg7kn40lYVW0EAMATw9dVldwcRUI+kJzJSKUTKDVSwY3/+Q== root@CHENMINGQIAN

  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsmmJuR+KhRSpdSirCiL30RA8WbfgicY1z7itWVnKHJW6hTuJFhzruY59FilVjJR1hbQBluP9JnK3XPSK9PSg+bwiJ2iQRa39rXck35r+trVOLyNbPyfKVRfOemD8YuykMlyr5JeW8gZjsHEuLnJ8//RiCiYzd3RT/SSUQ4yawDoIIWkz3eUSL09xoCRZFBsAp+S/LD3vx2MN+FNOHwvqcE+yK3oRNIqjWwLoKE0e5TRnqNgrPQ95PJYB3XPUulzaeMwsWPZs7jIUMl/5yEqSgAkioa8SVMOsikYJG/erv99NNVgFmpCBIiWqKEGkNrIpYzLLHDSYQ4g5Gbci/RZ54Q== Administrator@WIN2003X323

  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NwUHeNNi+PC6KlrcJrXXDmKxRMmgHIPp79sgX6zqfdSlmNj7rBPQeyEKS9Wg8yI6jd8aG2jsUx99Vjti2VK2vEXKkRHxwID7ri69gE71RfDtv6ekafnzLo14J8hAp0spMk+N3wEAQRYDmcYo1wmnm/jMBedGrHj4NJQ1vYy1hVtJasGMSzjcMrlz9qvaluWnQ5tQjKFQVVwKsRRRzs8qTvzVhLJt4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+eN3wx2aeztdevxu9plggtG05SMmd8GNVzXrN1IaxXSvz0UwjQ2kygu7aCqO8AZWH49rouw== leo@LEO-PC

  說明:我這裡有三個用戶登錄服務器,所以我這裡就有三個ssh-rsa,大家可以看一下。

  4.初始化Git倉庫

  注,先選定一個目錄作為Git倉庫,這裡是/data/git/project.git。

  代碼如下:

  [root@git ~]# cd /data/git/

  [root@git git]# git init --bare project.git

  [root@git project.git]# ls

  branches config description HEAD hooks index info objects refs

  執行以上命令 Git命令,會創建一個裸倉庫,裸倉庫沒有工作區,因為服務器上的Git倉庫純粹是為了共享,所以不讓用戶直接登錄到服務器上去改工作區,並且服務器上的Git倉庫通常都以.git結尾。然後,把owner改為git:

  代碼如下:

  [root@git git]# chown -R git.git project.git

  [root@git git]# ls -l

  總計 4

  代碼如下:

  drwxr-xr-x 7 git git 4096 05-09 13:50 project.git

  5.禁用shell登錄

  注,出於安全考慮,第二步創建的git用戶不允許登錄shell,這可以通過編輯/etc/passwd文件完成。找到類似下面的一行:

  代碼如下:

  [root@git ~]# cat /etc/passwd | grep git

  git:x:1001:1001:git version control:/home/git:/bin/bash

  改為:

  代碼如下:

  [root@git ~]# vim /etc/passwd

  git:x:1001:1001:git version control:/home/git:/usr/bin/git-shell

  這樣,git用戶可以正常通過ssh使用git,但無法登錄shell,因為我們為git用戶指定的git-shell每次一登錄就自動退出。

  6.克隆遠程倉庫

  注,現在可以通過git clone命令克隆遠程倉庫了,在各自的電腦上運行:

  注,$ git clone [email protected]:/data/git/project.git,其中git用戶名,git.jjhh.com服務器,/data/git/prgject.git是倉庫路徑。好了,到這裡服務器的搭建到這裡就完成了,下面我們來安裝一下客戶端。

  7.創建SSH Key

  首先在用戶主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個文件,如果已經有了,可直接跳到下一步。如果沒有,打開Shell(Windows下打開Git Bash),創建SSH Key:

  代碼如下:

  $ ssh-keygen -t rsa -C "[email protected]"

  你需要把郵件地址換成你自己的郵件地址,然後一路回車,使用默認值即可,由於這個Key也不是用於軍事目的,所以也無需設置密碼。

  如果一切順利的話,可以在用戶主目錄裡找到.ssh目錄,裡面有id_rsa和id_rsa.pub兩個文件,這兩個就是SSH Key的秘鑰對,id_rsa是私鑰,不能洩露出去,id_rsa.pub是公鑰,可以放心地告訴任何人。

  8.Git服務器打開RSA認證

  然後就可以去Git服務器上添加你的公鑰用來驗證你的信息了。在Git服務器上首先需要將/etc/ssh/sshd_config中將RSA認證打開,即:

  1.RSAAuthentication yes

  2.PubkeyAuthentication yes

  3.AuthorizedKeysFile .ssh/authorized_keys

  這裡我們可以看到公鑰存放在.ssh/authorized_keys文件中。所以我們在/home/git下創建.ssh目錄,然後創建authorized_keys文件,並將剛生成的公鑰導入進去。

  然後再次clone的時候,或者是之後push的時候,就不需要再輸入密碼了:

  代碼如下:

  Zhu@XXX/E/testgit/8.34

  $ git clone [email protected]:/data/git/learngit.git

  Cloning into 'learngit'...

  warning: You appear to have cloned an empty repository.

  Checking connectivity... done.

看過“CentOS系統怎麼搭建Git版本控制服務器”的人還看了:

Copyright © Linux教程網 All Rights Reserved