1. 程式人生 > >在伺服器上搭建 Git倉庫

在伺服器上搭建 Git倉庫

服務端

安裝Git

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

建立一個git使用者,用來執行git服務

[root@localhost ~]# adduser git && cd ~git
[root@localhost ~]# mkdir .ssh && chmod 700 .ssh
[root@localhost ~]# touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

禁用shell登入

注,出於安全考慮,建立的git使用者不允許登入shell,這可以通過編輯/etc/passwd檔案完成。找到類似下面的一行,改為:

[root@git ~]# vim /etc/passwd
git:x:1000:1000::/home/git:/usr/bin/git-shell

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

初始化Git倉庫

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

[root@git ~]# cd /data/git/
[root@git git]# git init --bare project.git

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

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

客服端

使用 SSH 公鑰進行認證

為了向 Git 伺服器提供 SSH 公鑰,如果某系統使用者尚未擁有金鑰,必須事先為其生成一份。 這個過程在所有作業系統上都是相似的。 首先,你需要確認自己是否已經擁有金鑰。 預設情況下,使用者的 SSH 金鑰儲存在其 ~/.ssh 目錄下。 進入該目錄並列出其中內容,你便可以快速確認自己是否已擁有金鑰:

[root@localhost ~]# ls ~/.ssh
authorized_keys2  id_dsa       known_hosts
config            id_dsa.pub

如果沒有id_rsa.pub檔案,則客服端生成SSH公鑰

[[email protected] ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
79:87:ad:40:ef:ac:4f:ea:a0:47:f4:45:c3:22:31:66 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|      E. .       |
|     o... +      |
|       ..o .     |
|      .. o.o     |
|     . .S.+ o    |
|      . .= o     |
|     ..   =      |
|     ... +       |
|    .. .+..      |
+-----------------+
[[email protected] ~]# cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDmUiESftpB4oyLwzqMculvSL9M9yIiraaRinSXLkjNZFBIX9zIxKpCkU7SBKXOfFrQAa0dy+iS8CvAuGmKTQZx27pYXIS/fYpPS5BF/iZP7uQmJaICNuX+Eyog+KceRFyr8TIxsHsMlN74h9t4FusWn7GT7ulLmKc8n1H9t8QPCwT018z9swBzq1+QHJ6nMYGDU2NPai9dvaW3ik69OrxOtAlmHcLPPBkafgdMiL9AkIOGKJzJ73/UcrNUWqFGiwho9pKzWLaoupVYa7t/I+mWXwt/H9tr22qTxiDJZhTVKNPLdeVTUSpj8ZTe9/AAxo4PvNt+jZ5k24jfNEPkmpCl [email protected]

注,一路回車即可,將生成的id_rsa.pub內容追加到伺服器上的/home/git/.ssh/authorized_keys後面,下次你用git時就不需要輸入使用者名稱和密碼了。

上傳id_rsa.pub到/home/git/.ssh/,重新命名為id_rsa.kwin.pub,追加到authorized_keys 檔案的末尾

[root@localhost ~]# cd ~git/.ssh
[root@localhost .ssh]# cat id_rsa.kwin.pub >> authorized_keys
[root@localhost ~]# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyQ6mcBiyiYiScdh9hBua8cXoOx59VVudyAkA+m+Gc+hUF09oKAyf5LlI1RJkbobX90L3afUexqnHT+hka1oaX4Gu7tfHYu7nJyGVPcteebJ14wNec750kUH0sS+f87U+Sb37Ynmh/FCCTUU+m/goimH5oe/gH8uSh3mFBlA+NKcBPRWCx7W44L5MK4YqcbddmjXsp+JAO6tHaYBn3GnLB3UzLbQHX222AGO6nByHNBmRHMXePaIzH76zWiy/OjiciJzRon/riftO+O+qOA9/+ZoB0KzycA0MeEOwqx5iWwRHzx8WrYufC9PZdvlKe/a4KxSG1XA15y69y0dFfl0CL root@localhost.localdomain
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDmUiESftpB4oyLwzqMculvSL9M9yIiraaRinSXLkjNZFBIX9zIxKpCkU7SBKXOfFrQAa0dy+iS8CvAuGmKTQZx27pYXIS/fYpPS5BF/iZP7uQmJaICNuX+Eyog+KceRFyr8TIxsHsMlN74h9t4FusWn7GT7ulLmKc8n1H9t8QPCwT018z9swBzq1+QHJ6nMYGDU2NPai9dvaW3ik69OrxOtAlmHcLPPBkafgdMiL9AkIOGKJzJ73/UcrNUWqFGiwho9pKzWLaoupVYa7t/I+mWXwt/H9tr22qTxiDJZhTVKNPLdeVTUSpj8ZTe9/AAxo4PvNt+jZ5k24jfNEPkmpCl TOYOTA@DESKTOP-O7FUOAH

說明:我這裡有兩個使用者登入伺服器,所以我這裡就有兩個ssh-rsa

克隆遠端倉庫

注,現在可以通過git clone命令克隆遠端倉庫了,在各自的電腦上執行:
這裡寫圖片描述

埠號如果不是預設的22,則

git clone ssh://[email protected]:22222/data/git/project.git

其中git使用者名稱,144.168.57.122伺服器地址,22222為SSH埠號,/data/git/prgject.git是倉庫路徑

預設埠號下

$ git clone git@144.168.57.122:/data/git/project.git

1、可以省略ssh://
2、可以省略埠號,但:不能省

相關推薦

伺服器搭建 Git倉庫

服務端 安裝Git [root@localhost ~]# yum install -y git 建立一個git使用者,用來執行git服務 [root@localhost ~]# adduser git && cd ~git [roo

如何在伺服器搭建Git版本倉庫?------玉米都督

最近要做一個django的商城網站放在伺服器上,. 以前都是用xftp 直接上傳修改原始碼.但是發現這種方法太lowB 所以需要學習一下git 技術   網站原始碼沒有放在git倉庫下,伺服器上分了2個部分,一個是git自己的版本控制,另外一個則是git 的鉤子 勾到

在Linux伺服器搭建Git遠端倉庫並Push本地庫

伺服器 安裝Git 新增git使用者 adduser git -m 設定密碼 passwd git 切換到git使用者,新建repos目錄,在該目錄下新建庫hello.git目錄, cd到hello.git目錄,初始化該庫: git --ba

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

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

如何在伺服器搭建Git版本倉庫(乾貨)

一、搭建思想(很重要!!!) 主要分為兩個方面,Git倉庫和專案庫(圖用的畫圖工具畫的,太low了.......) 1、你需要在你伺服器上擁有一個Git倉庫(提供者) 2、本地倉庫、你的伺服器專案倉庫、或者其他伺服器倉庫(實際使用者),開發或者上線的庫 二、搭建過程 我的伺服器是:CentOS6.*版本(

伺服器安裝git倉庫git本地

 原文來自:    https://blog.csdn.net/li_wen01/article/details/52411543 git伺服器搭建,本來是一件簡單的事情,但是因為網上的很多教程都不詳細,造成的後果就是搭建出來的伺服器很多的許可權的問題,於

Linux搭建git倉庫

1、安裝Git $ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel $ yum install git 接下來我們 建立一個git使用者組和使用者,用來執行git服務:

在雲伺服器搭建git伺服器遇到的問題及解決

使用了將近一年的騰訊雲伺服器了,學生價很是公道。但是今天遇到了一個極其糾結的問題,在部署git伺服器的時候,始終無法使用ssh公鑰金鑰配對從而免密碼連線(之間我一直使用的是ssh [email protected] 然後輸入密碼的方式連線的)。 伺服器上除了預設的

伺服器搭建基於ssh協議的git遠端倉庫

最近部門打算將專案程式碼從 svn 遷移到 git 上,故學習了一下 git 的內容。對 git 的強大早有耳聞,但是一直沒有機會用上,所以這次的遷移我也是積極推進,特此將學習的東西記錄下來。這篇為第一篇,後面將持續更新。第一步,在伺服器上建立git專用的使用者# 建立 gi

cenos7 搭建git伺服器

安裝git 在官網下載 tar.gz的包 然後放到 Linux(centos7系統)伺服器中 執行 tar -zxvf 檔名 來進行解壓檔案 然後 執行 git -version 來檢視git版本 正常出現版本號 繼續進行下一步 執行 useradd git 命令來建立 git使用者 然後 執行

centos7搭建git伺服器

目錄 環境: 安裝git和建立使用者 建立證書登入 初始化git倉庫 踩得坑 tortisegit使用 環境: centos7,git 1.8.3,tortisegit 安裝git和建立使用者 注:$代表用root使用者登入 # 安裝Git $ y

利用win10的Linux子系統在PC搭建git遠端倉庫

在windows上搭建git遠端倉庫一直比較麻煩,主要是由於windows的ssh服務支援比較難辦。Microsoft Store現在提供了一個名為Ubuntu的免費App,執行後可以在windows10上建立一個沒有圖形介面的ubuntu子系統並自帶ssh服

在Linux搭建git伺服器

這裡我使用的是centos伺服器 1、安裝git yum -y install git 2、新新增使用者git adduser git 3、進入/etc/passwd將 git:x:1001:10

centos搭建GIT伺服器

前言:作為目前世界上最先進的分散式版本控制系統,簡單來說就是高階大氣上檔次!程式碼託管倉庫有兩種型別。遠端倉庫和本地倉庫;兩者沒啥不同,純粹為了7*24小時開機並交換大家的修改。GitHub就是一個免費託管開原始碼的遠端倉庫。但是對於某些視原始碼如生命的商業公司來說,既不想公開原始碼,又捨不得給GitHub交

伺服器搭建git倉庫

踩了很多坑,遇到了無數報錯,終於搞好了這個簡單的東西,慚愧 到最後想了想還是不懂其中是怎麼回事兒,所以寫下了記錄一下 伺服器搭建git倉是個什麼玩意呢?說白了,就是給伺服器建個倉庫,完了把程式碼可以從本地推到伺服器上,如果正好,你的線上專案剛好讀取的是git倉裡相對應的專案目錄,那麼恭喜,你從本

樹莓派搭建Git伺服器

說明 利用樹莓派為我所有的Git倉庫建立了一個Git私有伺服器,方便私有程式碼和文件的管理。 安裝 1. 安裝Git伺服器和必要的客戶端軟體 sudo apt-get install wget git-core 2.沒有SSH,則安裝 sudo apt-get i

手把手教你在 Ubuntu 搭建 Git 伺服器

最近在寫一些指令碼,為了保持連續性,就在家也抽空趕進度,所以碰到了程式碼同步的問題,目前想到的方法有三個: 使用雲盤,這個拿來即用,但是因為雲盤還存放了其他一些東西,總是實時同步不太妥當; 使用 SVN,傳統的程式碼託管工具,一直在用; 使用

Ubuntu伺服器搭建git倉庫

post-receive裡面的指令碼:#!/bin/sh#判斷是不是遠端倉庫IS_BARE=$(git rev-parse --is-bare-repository)if [ -z "$IS_BARE" ]; thenecho >&2 "fatal: post-receive: IS_NOT_B

Windows搭建Git伺服器說明

前言 最近公司伺服器遷移變更,由於之前的git伺服器都是在Linux系統上搭建的,也不方便和嵌入式的同事一起使用,因此有了在自己的Windows電腦上搭建git伺服器的想法。折騰了一天,終於把環境各方面搭建好了,爽歪歪啊有木有!當然了這過程中也遇到不少頭疼的坑

在Win2003Server搭建GIT伺服器的一些經驗。

我選擇的軟體是 Git-1.8.4-preview20130916 Copssh_1.4.3_Installer WindowsServer2003-KB942288-v4-x86 一、我開始也用過Copssh_4.1.0_Installer,但是不成功,copssh410