ubuntu搭建git服務器


1.安裝git:

$ sudo apt install git

2.創建git用戶:

$ sudo adduser git

3.創建證書文件:
收集所有需要登錄的用戶的公鑰,公鑰位於id_rsa.pub文件中,把我們的公鑰導入到/home/git/.ssh/authorized_keys文件里,一行一個。
如果沒有該文件創建它:

$ cd /home/git
$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys

用戶公鑰生成方法 在客戶端電腦,cmd里輸入 $ ssh-keygen -t rsa -C "youremail@example.com"
把郵件地址換成你自己的郵件地址,然后一路回車,使用默認值即可
在用戶主目錄里找到.ssh目錄,里面有id_rsa和id_rsa.pub兩個文件,這兩個就是SSH
Key的秘鑰對,id_rsa是私鑰,id_rsa.pub是公鑰

4.初始化Git倉庫:
首先我們選定一個目錄作為Git倉庫,假定是/home/intelligent_doctor.git,輸入命令:

$ cd /home/git
$ git init --bare intelligent_doctor.git

以上命令Git創建一個空倉庫,服務器上的Git倉庫通常都以.git結尾。然后,把倉庫所屬用戶改為git:

$ chown -R git:git intelligent_doctor.git

5.禁用shell登錄:
出於安全考慮,第二步創建的git用戶不允許登錄shell,這可以通過編輯/etc/passwd文件完成。找到類似下面的一行:
git❌1001:1001:,,,:/home/git:/bin/bash
改為:
git❌1001:1001:,,,:/home/git:/usr/bin/git-shell
這樣,git用戶可以正常通過ssh使用git,但無法登錄shell,因為我們為git用戶指定的git-shell每次一登錄就自動退出。

6.克隆遠程倉庫:
現在,可以通過git clone命令克隆遠程倉庫了,在客戶端的電腦上運行:

$ git clone git@192.168.2.9:/home/git/intelligent_doctor.git
Cloning into 'sample'...
warning: You appear to have cloned an empty repository.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM