1. 程式人生 > >Git伺服器搭建

Git伺服器搭建

安裝Git

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel


yum install git

接下來我們 建立一個git使用者組和使用者,用來執行git服務:

groupadd git #建立git使用者組
adduser git -g git  #建立git使用者並指定為git在使用者組

建立證書登入

收集所有需要登入的使用者的公鑰,公鑰位於id_rsa.pub檔案(C:\Users\Administrator.ssh)中,把我們的公鑰匯入到/home/git/.ssh/authorized_keys檔案裡,一行一個。
如果沒有該檔案建立它:

cd /home/git/
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys  #建立好檔案後記得把公鑰貼上去
chmod 644 .ssh/authorized_keys

重要:加上這一步防止出現博主出現的問題

chown -R git:git /home/git

初始化Git倉庫

首先我們選定一個目錄作為Git倉庫,假定是/hotdata/kehu/bak_repo/bak_repo.git,在/hotdata/kehu/bak_repo目錄下輸入命令

cd /hotdata/kehu/

mkdir bak_repo

chown git:git bak_repo/

cd
bak_repo/ git init --bare bak_repo.git #將儲存庫視為裸庫。如果git_dir環境 #未設定,它被設定為當前工作目錄

以上命令Git建立一個空倉庫,伺服器上的Git倉庫通常都以.git結尾。然後,把倉庫所屬使用者改為git:

chown -R git:git bak_repo.git

克隆倉庫

回到本地操作

git clone  git@120.24.238.xxx:/hotdata/kehu/bak_repo/bak_repo.git

120.24.238.xxx 為 Git 所在伺服器 ip ,你需要將其修改為你自己的 Git 服務 ip。
這樣我們的 Git 伺服器安裝就完成了。這裡有一個問題,因為博主的伺服器SSH埠號不是預設的22,所以就會出現如下錯誤,因為git預設去找22埠了:

F:\wamp\wamp\www\bak_repo> git clone git@120.24.238.000:4600:/hotdata/kehu/bak_repo/bak_repo.git
Cloning into 'bak_repo'...
ssh: connect to host 120.24.238.170 port 22: Connection refused
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

怎麼辦呢???如何指定clone的埠號???

採用如下格式:

git clone ssh://[email protected]:port/.../xxx.git
git clone  ssh://[email protected]:4600/hotdata/kehu/bak_repo/bak_repo.git

埠號也加上了,還是報錯。錯誤資訊如下:

F:\wamp\wamp\www\bak_repo> git clone  ssh://[email protected]120.24.238.100:4600/hotdata/kehu/bak_repo/bak_repo.git
Cloning into 'bak_repo'...
[email protected]120.24.238.170's password:
Permission denied, please try again.
[email protected]'s password:
Permission denied, please try again.
[email protected]120.24.238.170's password:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

咋回事。。。。。。

經過goole,參考連結,答案為:
SSH對公鑰、私鑰的許可權和所有權的要求是非常嚴格的,總結如下:
1、下面兩個目錄的所有權必須是user,所屬組也應該是user,許可權必須為700
\home\user
\home\user.ssh
2、下面公鑰檔案的所有權必須是user,所屬組也應該是user,許可權必須為644
\home\user.ssh\authorized_keys
3、下面私鑰檔案的所有權必須是user,所屬組也應該是user,許可權必須是600
\home\user.ssh\id_rsa

而我的資料夾許可權和所屬組呢:
這裡寫圖片描述

這裡寫圖片描述

有兩個檔案許可權不對。。

好吧,解決了上面提示的錯誤,又來了問題:

F:\wamp\wamp\www\bak_repo> git clone  ssh://[email protected]120.24.238.170:4600/hotdata/kehu/bak_repo/bak_repo.git
Cloning into 'bak_repo'...
fatal: protocol error: bad line length character: This

咋回事呢?既然是要允許登入,那不就和很多git教程矛盾了嗎?好吧,先clone下來再說

usermod -s /bin/bash git #允許git 登入,這樣是不提示錯誤了,並且clone成功了

//==以下步驟如果導致不能clone,就用上面的命令恢復吧
接下來我們可以禁用 git 使用者通過shell登入,可以通過編輯/etc/passwd檔案完成。找到類似下面的一行:

git:x:516:516::/home/git:/bin/bash

改為

git:x:516:516::/home/git:/usr/bin/git-shell

非22埠的push

 git push   ssh://git@120.24.238.000:4600/hotdata/kehu/bak_repo/icp_pro.git

相關推薦

個人GIT伺服器搭建Windows/Linux

===Windows=== 自:https://www.cnblogs.com/sumuncle/p/6362697.html Git在版本控制方面,相比與SVN有更多的靈活性,對於開源的專案,我們可以託管到Github上面,非常方便,但是閉源的專案就會收取昂貴的費用。

Git伺服器搭建過程

Git伺服器搭建過程 作者:家輝  日期:2018年3月16日 CSDN部落格: http://blog.csdn.net/gobitan 摘要:本文記錄了Gitlab伺服器的搭建過程,記錄下來備用。安裝的作業系統為CentOS7.

linux - git伺服器搭建

Gitolite介紹輕量級, 開源專案,使用SSH公鑰認證,能做到分支級的許可權控制。 1 Gitolite安裝 1.1 建立使用者 $ adduser git #建立使用者 $ passwd git #給新建的使用者設定密碼 exit 退出當前使用者 su -

閒聊:瞎談團隊協作與git伺服器搭建

某天,突然有人問我: 你想做遊戲嗎? 想啊,當然想。從高考完選專業開始就想了。   於是,我就稀裡糊塗進了這樣一個小團隊。當然,過程還是挺複雜的,暫且略過不表,以後有機會再談。 大家都是本科生,什麼經驗都沒有,憑著一腔熱血就開始了。起初什麼都不會(雖然現在也什麼都不會)

git伺服器搭建及相關操作筆記

git伺服器搭建 1、安裝git,yum install git 2、建立證書登入       建立檔案 /home/git/.ssh/authorized_keys     許可權  chmod 755 /home/git/.ssh

Git 伺服器搭建(CentOs7)

我們經常使用遠端倉庫Github,Github 公開的專案是免費的,但是如果你不想讓其他人看到你的專案就需要收費。 這時我們就需要自己搭建一臺Git伺服器作為私有倉庫使用。 接下來我們將以 Centos 為例搭建 Git 伺服器。 1、安裝Git $ yum inst

git 伺服器搭建及提交程式碼檢查

本地 git 服務,通常都會選擇 gitlab。本人最先也是選擇 gitlab,在 centos7 上按照官網的步驟進行安裝,下載的速度難以忍受,無奈放棄。最終選擇在 docker 中安裝 gogs 映象來自建 git 服務。   一、安裝 gogs 1、拉取映象 docker pul

Git伺服器搭建全過程分步詳解

GitHub是一個免費託管開原始碼的Git伺服器,如果我們不想公開專案的原始碼,又不想付費使用,那麼我們可以自己搭建一臺Git伺服器。 下面我們就看看,如何在Ubuntu上搭建Git伺服器。我們使用VMware虛擬機器安裝兩臺Ubantu系統,分別命名為gitServer和

Windows下本地git伺服器搭建

轉載自: 《 Windows下本地git伺服器端安裝圖文教程 》 關於git     分散式:Git版本控制系統是一個分散式的系統,是用來儲存工程原始碼歷史狀態的命令列工具。     分支即時性:建立和切換分支幾乎是同時進行的,使用者可以上傳一部分分

Windows平臺下Git伺服器搭建

原本想用A中提到的CopSSH+msysgit+putty方案,感覺配置起來太麻煩了。於是試了B中提到的Gitblit。 下載安裝Java, 或 JDK 。奇怪的是我在cmd裡輸入javac後提示javac不是內部或外部命令。但在cmd裡java命令是可

linux git伺服器搭建,多使用者協作

1、安裝git 2、建立使用者 user add -M username #-M不會在home目錄下建立使用者目錄 user add -M username1 user add -M username2 2、建立使用者組git groupadd git #建立git使用者

Linux git伺服器搭建 配置IDEA git

1.linux上建立git 使用者 ,作為git服務管理員  2.安裝 git 伺服器   3.window 客戶端安裝 3.客戶端生成公鑰和私鑰 4.將本地Users\cuizhaojin\.ssh資料夾中的公鑰用文字編輯器開啟,拷貝到伺服器/home/git/.

windows環境下的git伺服器搭建——gitblit

用以記錄windows系統下的git伺服器搭建過程 之前的搭建過程選擇了用SSH的方式,但是出現了很多問題,暫時的能力不足以解決,所以暫時擱置。 再老師的一再催促下,找到了另一種方法,能夠很好的解決問題——gitblit, 作為一個小白而言,能有這樣的一箇中文圖形化的介面真

CentOS下Git伺服器搭建與客戶端(windows和centos)搭建

一.伺服器端 1.yum安裝Git伺服器 yum install -y git 2.建立一個git使用者,用來執行git服務 useradd git 3.建立客戶端登入證書 注,收集所有需要登入的使用者的公鑰,就是他們自己生成的id_rsa.pub檔案,把所有公鑰複製到/

CentOS環境Git伺服器搭建並配置公鑰訪問簡單測試

2017-10-26 更新使用私鑰時不輸入密碼 IP地址 用 xxx.xxx.xxx.xx 代替 1. Git伺服器環境搭建(Server端) | SSH方式登入伺服器 xiaoqw@ubuntu:~$ ssh [email protected].

Git 伺服器搭建(Linux)

 一、安裝  centos   1.yum install git    不一定可以,沒有yum源   2.原始碼安裝    a、安裝git環境(有的可以不用裝)     •yum install curl       •yum install curl-devel

Git伺服器搭建

安裝Git yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel yum install git 接下來我們 建立一個git使用者組和

git 伺服器搭建,在自己伺服器搭建私有倉庫

建立一個簡單的私人Git版本控制伺服器,首先得有個伺服器(屁話)。這種方式適合人比較少的情況,管理不需要很複雜,只要增加幾個賬號就能搞定。 如下面的情況,有一個伺服器,兩個客戶端。 伺服器:Debian7.5 (192.168.10.14) 用 戶:git (git-s

基於http方式的git伺服器搭建

1.安裝git sudo apt-get install git git-core 2.配置git的http代理 ①安裝apache sudo apt-get install apache2 apache2-utils ②啟用下面的模組 sudo a2enmod

(轉)Ubuntu中Git伺服器搭建

git伺服器搭建過程 參考網上資料搭建git伺服器過程記錄 如下: 基本需求 硬體需求:一臺Ubuntu或者debian電腦(虛擬機器),能通過網路訪問到。 軟體需求:git-core, gitosis, openssh-server, openssh-client, Apa