1. 程式人生 > >linux下搭建簡單的git伺服器測試1

linux下搭建簡單的git伺服器測試1

這兩天沉迷PHP web伺服器開發不能自拔,但是php和html、js之類的程式要寫一點看一點效果,我是放到Linux雲主機上測試的,所以要在xshell上寫程式碼,很麻煩。

於是想自己在雲主機上搭建一個Git遠端倉庫,這樣我在windows端寫程式碼,寫好push一下就能在linux端同步更新,後來我發現我太天真了,因為linux端的git倉庫不具備讀寫能力,裡面的檔案格式和我們上傳上去的不一樣,要想在linux端同步更新只能clone一下,然後手動pull更新,這樣的話,還不如直接用github來管理。

雖然最終目的是失敗的,但是搭建git服務這個目標是成功的,我花了一天的時間,歷經千辛萬苦終於把git伺服器給搭好了!

下面放出全部流程:

1. 安裝git

我用的是CentOS,所以直接用yum安裝就好了,ubuntu系的用apt-get shell命令: $yum install git


2. 增加一個git賬戶

為了管理的方便,在linux下面增添一個 "git" 賬戶。 shell命令: $adduser git 我為了方便,順便把這個賬戶放到sudoers組裡面了(教程隨手找了一個來: linux下將使用者新增到sudoers中

3.建立一個git遠端倉庫

此時進入/home/git(當然你可以自己另外指定使用者資料夾)目錄下面,建立一個叫做tmp.git的空git倉庫 shell命令: sudo git init --bare tmp.git 注意,倉庫的名字後面要加上.git的字尾
此時遠端倉庫已經建好了,這個倉庫不能直接提取檔案,只能通過clone的方式從裡面下載檔案,我一開始不知道,以為直接可以拿來用 接下來要做的就是對ssh的配置

4.配置ssh金鑰

我對原理不是很懂,簡單來說就是客戶端生成一個ssh公鑰,然後把這個ssh公鑰加到伺服器端的一個檔案裡面,然後客戶端就可以遠端連線到伺服器。 因為這樣就可以通過ssh遠端登入伺服器的shell了,這樣肯定不安全,所以最好將git這個賬號設定成不允許遠端操控,我為了簡便起見就沒搞,再說我本來就是要遠端登入linux的,這樣做不是搬起石頭砸了自己的腳。。。? 一般說來,系統是自動安裝好ssh相關軟體的,如果沒有自行安裝一下:$yum install ssh
,    然後開啟一下ssh服務:$service sshd restart 廢話不多說,先在git賬號的目錄下面找找看有沒有 .ssh檔案,沒有的話建立一個新建一個 .ssh檔案:$mkdir .ssh 然後進入.ssh資料夾,在這個資料夾下面新建一個檔案: touch authorized_keys 然後要做的是把客戶端生成的ssh金鑰複製貼上到這個檔案裡面。
伺服器端也是要生成金鑰的,所以要執行:#ssh-keygen -t rsa生成兩個檔案(id.rsa和id.rsa.pub) 我們隨便找到一個linux系統(別問我我為什麼有兩個雲主機大笑 ),然後執行這段命令:ssh-keygen -t rsa,如果你是一路回車確定下去的話,應該能看到下面這樣的畫面:   進入.ssh資料夾,執行: $ls 然後用cat命令檢視id_rsa.pub檔案: $cat id_rsa.pub 然後將打印出來的這段金鑰複製一下,就是這段 "ssh-rsa AAAAB3NzaC1yc2EAAAADAQA……oXZCu4jWwP [email protected]",儲存好這段文字。 然後回到伺服器端的git賬號下的.ssh資料夾,開啟之前新建好的authorized_keys資料夾,將剛才複製來的文字貼上進去,一行一個金鑰,一個金鑰對應一個客戶端

5.客戶端clone測試一下

我們進入客戶端主機(我用的是另一臺雲主機,也是linux系統的,如果是windows的話,需要下載git for windows版本的)。 在使用者目錄下新建一個test資料夾用來存放等下要clone的倉庫:
進入test資料夾,執行:$git clone [email protected]:tmp.git 這個時候我突然發現居然要輸入伺服器端git賬戶的登入密碼,不對啊,這和我以前用github的畫風不一樣啊,於是我開始四處找教程,終於找到了原因:ssh配置檔案的問題 如果不需要輸入密碼就能成功clone的童鞋可以跳過下面這段。 我們先登入伺服器端的root許可權賬戶,編輯/etc/ssh/sshd_config檔案,這個檔案是ssh伺服器的配置檔案,我們要修改的是這幾行:
找到上面這張圖片中的那幾段黃色語句,將其註釋取消,再將屬性修改成上面那樣的。 接下來千萬別忘記重新啟動一下ssh服務:$service sshd restart 然後我再到客戶端,執行clone命令,這次就不用輸入密碼了。 這一路下來就算是大功告成了,只要想新增客戶端,只要生成ssh金鑰,然後把金鑰複製到伺服器端下的.ssh/authorized_keys檔案下,客戶端就可以連線上git遠端倉庫了。 這個部落格是給有一定基礎linux基礎和github使用經驗的人看的。。。如果對文章感到疑惑,還是多多百度吧。。。

來源:http://blog.csdn.net/qq_32685139/article/details/52426155

相關推薦

linux搭建簡單git伺服器測試1

這兩天沉迷PHP web伺服器開發不能自拔,但是php和html、js之類的程式要寫一點看一點效果,我是放到Linux雲主機上測試的,所以要在xshell上寫程式碼,很麻煩。 於是想自己在雲主機上搭建一個Git遠端倉庫,這樣我在windows端寫程式碼,寫好push一下就

Linux搭建私有Git伺服器並建立私有遠端倉庫

       遠端倉庫實際上和本地倉庫沒啥不同,純粹為了 7x24 小時開機並交換大家的修改。GitHub 是一個免費託管開原始碼的遠端倉庫; 但是對於某些資原始碼(如生命的商業公司來說),不想公開原始碼, 可以自己搭建一臺 Git 伺服器作為私有倉庫使用。

linuxLinux搭建ntp時間伺服器

NTP(Network Time Protocol)伺服器是用於區域網伺服器時間同步使用的,可以保證區域網所有的伺服器與時間伺服器的時間保持一致,應用於對時間實時性要求高的、必須統一時間事件。 NTP時間伺服器是一個簡單的常用的伺服器,在工作中我們只要做到會用、能搭建起來就

linux簡單檔案伺服器和客戶端程式

本文是我的一次作業,由於花了很多精力,記下來以後可能還會用到。程式碼部分是從老師那拷貝的,作業是實現程式碼中沒有實現的put和delete命令對檔案的操作。我對程式碼的理解都做了標註,有點亂,但閱讀方便。本程式的命令要求 Dir/ls 後接字串,列出伺服器的某個目錄的內容

linux搭建簡單的vpn服務

搭建PPTP VPN服務。包括PPTP的安裝、配置,以及相應的iptables規則。之所以選擇PPTP VPN,是考慮到客戶端連線起來會比較方便 我們幾個人主要都是在Linux Desktop、Windows還有Android上使用VPN,這些終端原生都有連線PPTP的客戶

Linux搭建Git伺服器 Jenkins持續整合環境部署

1、安裝Git 見 Jenkins持續整合環境部署 第四節 2、建立Git使用者和使用者組 1 groupadd git 2 useradd git -g git 3、建立證書切換到git使用者建立證書 1 su git 2 cd /home/git 3 mkdir .ssh 4 c

Linux 搭建 Git 伺服器後如何新建專案和新增使用者

關於如何在Linux 下搭建 Git 伺服器的問題,大家可以參考這篇文章(https://www.cnblogs.com/dee0912/p/5815267.html)。 我按照上面文章內容操作,確實搭建完成Git伺服器後,但是又出現了一個問題,如何新建專案,並且把參與開發人員加到該專案呢?下面

Linux搭建屬於你自己的git伺服器(MAC版)

環境說明 本地mac系統,一般都有git程式安裝(如果沒有則使用:brew install git) 伺服器版本是ubuntu-14.04 直入主題 ​ 使用mac終端遠端連線linux伺服器(命令:ssh [伺服器ip], 之後輸入伺服器密碼)預設都是ro

git搭建git伺服器Linux 搭建 Git 伺服器

在 Linux 下搭建 Git 伺服器 目錄 ① 安裝 Git ② 伺服器端建立 git 使用者,用來管理 Git 服務,併為 git 使用者設定密碼 ③ 伺服器端建立 Git 倉庫 ④ 客戶端 clone 遠端倉庫 ⑤ 客

linux搭建git伺服器

環境: 伺服器 CentOS6.6 + git(version 1.7.1) 客戶端 Windows10 + git(version 2.8.4.windows.1)  ① 安裝 Git Linux 做為伺服器端系統,Windows 作為客戶端系統,分別安裝 Git 伺服器端: ? 1

Linux搭建自己的Git伺服器

首先需要裝好CentOS系統,作為測試,你可以選擇裝在虛擬機器上,這樣比較方便。這步預設你會,就不講了。 有了CentOS,那麼如何搭建Git伺服器呢? 1、首先需要安裝Git,可以使用yum源線上安裝: [[email protected] Desk

Linux 搭建 Git 伺服器

環境: 伺服器 CentOS6.6 + git(version 1.7.1) 客戶端 Windows10 + git(version 2.8.4.windows.1)① 安裝 GitLinux 做為伺服器端系統,Windows 作為客戶端系統,分別安裝 Git伺服器端:#yu

linux搭建git伺服器 許可權管理

1、新增git使用者 useradd -m git 2、修改git使用者密碼(密碼為git) passwd git 3、解壓git-1.7.12.2.tar.gz並安裝git tar -x

Linux 搭建git 服務器

domain 目錄結構 倉庫 read -i shel for public git clone 環境: 服務器 centos7.3 +git1.8.3.1 客戶端 centos7.2 +git1.8.3.1服務器配置; 1.安裝git yum inst

Linux 搭建 Git 服務器

root load sts etc print sha 文件 ash 項目 環境: 服務器 CentOS6.6 + git(version 1.7.1)客戶端 Windows10 + git(version 2.8.4.windows.1) ① 安裝 Git Li

Linux搭建基於python的VIM(ubuntu18.04.1 + vim8.0)

Linux下搭建基於python的VIM 參考: https://www.jianshu.com/p/297802d16fb4?from=timeline&isappinstalled=0   之前自動補全用的是jedi,手感一般,還是YCM流匹(自動補全,goto

linux搭建我的世界spongeforge 伺服器 (海綿端)

以下我用的都是1.10.2版本 且以下用的伺服器連線管理軟體有WinSCP、Xshell 5   首先,去下載一個MC1.10.2的純淨服務端,這個不會很難,百度一下! 比如我下的檔案就叫minecraft_server.1.10.2.jar 然後我們在自己linux系統下的root資料夾

LIVE555學習1Linuxlive555的編譯及測試

以下為在linux下編譯和測試live555的全部過程。 文章目錄 1 原始碼下載 2 編譯 3 測試 1 原始碼下載 官網地址:http://www.live555.com/liveMedia/public/ 開啟後,選擇li

Linux搭建DNS域名解析伺服器

一、技能目標 1、熟悉域名伺服器的各種角色2、學會構建主、從域名伺服器3、構建分離解析的域名伺服器 二、DNS服務簡介 1、DNS系統在網路中的作用就是一個維護著一個地址資料庫,其中記錄了各種主機的域名與IP地址的對應關係。2、DNS系統為客戶提供了正向或方向的地址查詢服務,及正向解析和方向解析,正向解

Linux搭建Git服務器

list linux服務器 可視化 搭建git服務器 home chmod 版本控制 log 方法 1、安裝Git 見 Jenkins持續集成環境部署 第四節 2、創建Git用戶和用戶組 1 groupadd git 2 useradd git -g git 3、創建證