linux下搭建git服務器

?

安裝 Git

Linux 做為服務器端系統,Windows 作為客戶端系統,分別安裝 Git

服務器端:

#yum install -y git

安裝完后,查看 Git 版本

[root@localhost ~]# git --version
git version 1.7.1

客戶端:

下載?Git for Windows,地址:https://git-for-windows.github.io/

安裝完之后,可以使用 Git Bash 作為命令行客戶端。

安裝完之后,查看 Git 版本

$ git --version
git version 2.8.4.windows.1

服務器端創建 git 用戶,用來管理 Git 服務,并為 git 用戶設置密碼

[root@localhost home]# id git
id: git:無此用戶
[root@localhost home]# useradd git
[root@localhost home]# passwd git

?注意:密碼用字母加數字

服務器端創建 Git 倉庫

設置 /home/data/git/gittest.git 為 Git 倉庫

然后把 Git 倉庫的 owner 修改為 git

[root@localhost home]# mkdir -p var/www/test/sampla.git
[root@localhost home]# git init --bare var/www/test/sample.git
Initialized empty Git repository in /var/www/test/sample.git/
[root@localhost home]# cd var/www/test
[root@localhost git]# chown -R git:git sample.git/

客戶端 clone 遠程倉庫

進入 Git Bash 命令行客戶端,創建項目地址并進入:

從 Linux Git 服務器上 clone 項目(輸入你的剛設置的密碼):

?

?當第一次連接到目標 Git 服務器時會得到一個提示:

?一路 yes

此時?C:\Users\用戶名\.ssh 下會多出一個文件?known_hosts,以后在這臺電腦上再次連接目標 Git 服務器時不會再提示上面的語句。

客戶端創建 SSH 公鑰和私鑰

$ ssh-keygen -t rsa -C "123456789@qq.com"

此時?C:\Users\用戶名\.ssh 下會多出兩個文件?id_rsa 和?id_rsa.pub

id_rsa 是私鑰

id_rsa.pub 是公鑰

服務器端 Git 打開 RSA 認證

進入 /etc/ssh 目錄,編輯 sshd_config,打開以下三個配置的注釋:

[root@iZ2zegxsbwybwfq0sv1ragZ test]# cd /etc/ssh
[root@iZ2zegxsbwybwfq0sv1ragZ ssh]# ls
moduli      sshd_config       ssh_host_dsa_key.pub  ssh_host_key.pub  ssh_host_rsa_key.pub
ssh_config  ssh_host_dsa_key  ssh_host_key          ssh_host_rsa_key
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

保存并重啟 sshd 服務:

[root@localhost ssh]# /etc/rc.d/init.d/ssd restart

由 AuthorizedKeysFile 得知公鑰的存放路徑是 .ssh/authorized_keys,實際上是 $Home/.ssh/authorized_keys,由于管理?Git 服務的用戶是 git,所以實際存放公鑰的路徑是 /home/git/.ssh/authorized_keys

在 /home/git/ 下創建目錄 .ssh

[root@localhost git]# pwd
/home/git
[root@localhost git]# mkdir .ssh
[root@localhost git]# ls -a
. .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla .ssh

然后把 .ssh 文件夾的 owner 修改為 git

[root@iZ2zegxsbwybwfq0sv1ragZgit]# chown -R git:git .ssh
[root@iZ2zegxsbwybwfq0sv1ragZ git]# ll -a
total 24
drwx------  3 git  git  4096 Aug  8 11:41 .
drwxr-xr-x. 4 root root 4096 Aug  8 11:00 ..
-rw-r--r--  1 git  git    18 Mar 23 08:11 .bash_logout
-rw-r--r--  1 git  git   176 Mar 23 08:11 .bash_profile
-rw-r--r--  1 git  git   124 Mar 23 08:11 .bashrc
drwxr-xr-x  2 git  git  4096 Aug  8 11:41 .ssh

將客戶端公鑰導入服務器端 /home/git/.ssh/authorized_keys 文件

回到windows的?Git Bash 下,導入文件:

$ ssh git@你的遠程服務器ip地址 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

需要輸入服務器端 git 用戶的密碼

?

?回到服務器端,查看 .ssh 下是否存在 authorized_keys 文件:

注意:

修改 .ssh 目錄的權限為 700

修改 .ssh/authorized_keys 文件的權限為 600

[root@localhost git]# chmod 700 .ssh
[root@localhost git]# cd .ssh
[root@localhost .ssh]# chmod 600 authorized_keys 

?

客戶端再次?clone 遠程倉庫

$ git clone git@47.93.222.78:/var/www/test/sample.git

禁止 git 用戶 ssh 登錄服務器

之前在服務器端創建的 git 用戶不允許 ssh 登錄服務器

編輯 /etc/passwd

找到:

git:x:502:504::/home/git:/bin/bash

修改為

git:x:502:504::/home/git:/bin/git-shell

此時?git 用戶可以正常通過 ssh 使用 git,但無法通過 ssh 登錄系統。

轉載于:https://www.cnblogs.com/love-snow/articles/7306178.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253810.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253810.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253810.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mkcramfs 命令學習

mkcramfs :創建只讀文件系統 語 法 mkcramfs[必要參數][選擇參數][源目錄][目標文件]功 能mkcramfs 命令&#xff1a;用來創建CRAMFS只讀文件系統 類似命令: fdisk cramfsck mount 執行權限: 超級用戶 普通用戶 命令屬性: 磁盤維護 參數必要參數 -e 設置文件系…

對于Eclipse的正確用法

有時候我們剛剛修改了工程里的文件 但是啟動的時候它硬是說你有東西沒有聲明 而那個東西又明明在那里。。 這時候我們可以認為實際與它調用的工程關系文件&#xff08;我假想的&#xff09; 不同步。。 我們可以通過clean功能來同步實際情況和工程關系文件 所以說我們每次改了之…

邏輯綜合——工藝庫

一、庫文件的設置 運行DC時需要用到的庫文件有&#xff1a;目標庫&#xff08;target library&#xff09;、鏈接庫&#xff08;link library&#xff09;、符號庫&#xff08;symbol library&#xff09;、算術運算庫&#xff08;synthetic library&#xff09;。 1、目標庫…

weka 初練之 文本分類

0.注意weka的中文編碼RunWeka.ini-----》fileEncodingutf-81.首先對分詞后的 無新詞發現的分詞文件&#xff0c;轉換成arff文件 命令java weka.core.converters.TextDirectoryLoader -dir D:\weibo\catagory\data10W\nlpirSegment\noNI > D:\weibo\catagory\data10W\nlpirSe…

[COGS 0065][NOIP 2002] 字串變換

65. [NOIP2002] 字串變換 ★★ 輸入文件&#xff1a;string.in 輸出文件&#xff1a;string.out 簡單對比時間限制&#xff1a;1 s 內存限制&#xff1a;128 MB [問題描述] 已知有兩個字串A\$, B\$及一組字串變換的規則&#xff08;至多6個規則&#xff09;: A1\$ ->…

基與datatable的分頁

在進行分頁操作前&#xff0c;必須知道開啟服務器模式后會向服務器發送的參數的含義&#xff1a; length:告訴服務器每頁顯示的數據條數 start&#xff1a;第一條數據的起始位置 draw:繪制計數器&#xff0c;&#xff08;特殊&#xff1a;服務器接收到參數后&#xff0c;需要返…

linux sock_raw原始套接字編程

sock_raw原始套接字編程可以接收到本機網卡上的數據幀或者數據包,對與監聽網絡的流量和分析是很有作用的.一共可以有3種方式創建這種socket1.socket(AF_INET, SOCK_RAW, IPPROTO_TCP|IPPROTO_UDP|IPPROTO_ICMP)發送接收ip數據包2.socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP|E…

邏輯綜合——施加約束

Design Compiler時一個約束驅動&#xff08;constraint-driven&#xff09;的綜合工具&#xff0c;它的結果與設計者施加的約束條件密切相關。 一、面積約束 進行面積的約束&#xff0c;也就是告訴DC綜合的電路面積要在多少以內。在介紹約束命令之前&#xff0c;先了解一下面積…

[Codevs] 1004 四子連棋

1004 四子連棋 時間限制: 1 s空間限制: 128000 KB題目等級 : 黃金 Gold題目描述 Description在一個4*4的棋盤上擺放了14顆棋子&#xff0c;其中有7顆白色棋子&#xff0c;7顆黑色棋子&#xff0c;有兩個空白地帶&#xff0c;任何一顆黑白棋子都可以向上下左右四個方向移動到相鄰…

鏈接中獲取文件名

算得上是-test.pdf 獲取文件名 var str http://aaa.com/s/ddd/算得上是-test.pdf; console.log(str.match(/([^/*.])\.\w$/)) console.log(str.match(/([^/*.])\.\w$/)[0]) // 轉載于:https://www.cnblogs.com/cssfirefly/p/6163370.html

邏輯綜合——優化電路

對進行時序路徑、工作環境、設計規則等進行約束完成之后&#xff0c;DC就可以進行綜合、優化時序了&#xff0c;DC在優化過程中主要的策略將在下面進行說明。然而&#xff0c;當普通模式下不能進行優化的&#xff0c;就需要我們進行編寫腳本來改進DC的優化來達到時序要求。 DC…

DOM包裹wrap()方法

DOM包裹wrap()方法 如果要將元素用其他元素包裹起來&#xff0c;也就是給它增加一個父元素&#xff0c;針對這樣的處理&#xff0c;JQuery提供了一個wrap方法 .wrap( wrappingElement )&#xff1a;在集合中匹配的每個元素周圍包裹一個HTML結構 簡單的看一段代碼&#xff1a; &…

usleep函數

usleep功能把進程掛起一段時間&#xff0c; 單位是微秒&#xff08;百萬分之一秒&#xff09;&#xff1b; 頭文件&#xff1a; unistd.h 語法: void usleep(int micro_seconds); 返回值: 無 內容說明&#xff1a;本函數可暫時使程序停止執行。參數 micro_seconds 為要暫停的微…

限制Xamarin獲取圖片的大小

限制Xamarin獲取圖片的大小在App開發中&#xff0c;經常會使用網絡圖片。因為這樣不僅可以減少App的大小&#xff0c;還可以動態更新圖片。但是手機使用網絡環境千差萬別。當網絡環境不是理想的情況下&#xff0c;加載網絡圖片就是一個棘手的問題了。為了避免長時間加載圖片影響…

Linux應用開發自學之路

前言 在 「關于我 」那篇博文里&#xff0c;朋友們應該知道了我不是科班出身&#xff0c;是由機械強行轉行到Linux應用開發方向。下面我就詳細向大家介紹自己這一路上的轉行歷程&#xff0c;希望對大家有所啟發。 我是學機械專業的&#xff0c;對于機械專業我還是很感興趣&…

Verdi 基礎教程

一、Verdi 功能 查看設計debugVerdi不能自己產生波形 二、Verdi使用流程 1、Verdi環境配置 .bashrc中配置 export Verdi_HOME$Synopsys_Dir/Verdi2015 #export NOVAS_HOME$Synopsys_Dir/Verdi2015 export PATH$Verdi_HOME/bin:$PATH export LD_LIBRARY_PATH"/opt/Syno…

ida和idr機制分析(盤符分配機制)

內核ida和idr機制分析&#xff08;盤符分配機制&#xff09; ida和idr的機制在我個人看來&#xff0c;是內核管理整數資源的一種方法。在內核中&#xff0c;許多地方都用到了該結構&#xff08;例如class的id&#xff0c;disk的id&#xff09;&#xff0c;更直觀的說&#xff0…

MIPI CSI-2學習

CSI&#xff08;Camera Serial Interface&#xff09;定義了攝像頭外設與主機控制器之間的接口&#xff0c;旨在確定攝像頭與主機控制器在移動應用中的標準。 關鍵詞描述 縮寫解釋CCICamera Control Interface&#xff08;物理層組件&#xff0c;通常使用I2C或I3C進行通信&…

internet網絡 checksum校驗和計算方法

http://hi.baidu.com/%CE%C4%B3%AD%B9%AB/blog/item/7d9a4e08f82d72b32eddd4cb.html

最有效的創建大數據模型的6個技巧

數據建模是一門復雜的科學&#xff0c;涉及組織企業的數據以適應業務流程的需求。它需要設計邏輯關系&#xff0c;以便數據可以相互關聯&#xff0c;并支持業務。然后將邏輯設計轉換成物理模型&#xff0c;該物理模型由存儲數據的存儲設備、數據庫和文件組成。 歷史上&#xff…