日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Git私服搭建与使用

發布時間:2025/6/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Git私服搭建与使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Git服務器搭建與使用

前言

Git是一個開源的分布式版本控制系統,可以有效、高速的處理從很小到非常大的項目版本管理。官網請戳https://www.git-scm.com。
常用的有幾家Git服務提供商
  • GitHub,全球最大的代(tong)碼(xing)托(jiao)管(you)平臺,社區文化好,大牛多,公有庫免費,私有庫收費
  • Gitee,OSChina家的產品,現在國內挺多人用的,公有庫、私有庫都免費
  • Coding,公有庫、私有庫都免費,提供企業版(收費)服務,除了提供代碼托管服務,還能發布任務,有點像是Gitee和Tower的結合體

環境準備

  • 服務器,使用阿里云,操作系統,CentOS 7
  • 客戶端,安裝Git Client,參考官網的安裝指引

1 安裝Git

yum install git

2 配置用戶

創建一個用戶git,該用戶只是用來進行git相關操作

groupadd git useradd git -d /home/git -g git

3 Git-協議

Git 可以使用四種協議來傳輸數據:本地協議(Local)、HTTP協議、SSH(Secure Shell)協議、Git 協議。各種協議的優劣詳見這里

3.1 SSH協議

查看公鑰鑒權文件是否存在

cat /home/git/.ssh/authorized_keys

如果不存在的話,新建一個

cd /home/git/ mkdir .ssh chmod 755 .ssh touch .ssh/authorized_keys chmod 644 .ssh/authorized_keys

3.2 生成并配置密鑰對

生成一個密鑰對

ssh-keygen -t rsa -C "fallshum"

這里會提示我們,是否修改路徑,是否輸入密碼,使用默認,一路Enter往下走就行

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: 1d:f1:b6:c9:42:2b:ab:1d:43:5a:72:fc:31:aa:38:9d fallshum The key's randomart image is: +--[ RSA 2048]----+ | . | | o | | o o | | . o = o | | . S * + | | * = + | | ...= . | | ..E+ o | | ..o . | +-----------------+

把生成的公鑰寫入/home/git/.ssh/authorized_keys,并查看

cat /root/.ssh/id_rsa.pub >> /home/git/.ssh/authorized_keys cat /home/git/.ssh/authorized_keys

把私鑰放到客戶端的.ssh目錄下,先獲取剛才生成的私鑰

cat /root/.ssh/id_rsa

可以看到類似這樣的一個私鑰,復制出來

-----BEGIN RSA PRIVATE KEY----- MIIEogIBAAKCAQEAxtF2MFhb0xbOn2ngtHvWJTM1bW4V/IIBTKzCzTUg9S6tfTqZ bzVS0qouNWJEOF+phW42Ban5bE9YrpqD3wG36w1fKntGVGXeGkdjiByxzW4wtZpv gzn9d0o03JlpY3nciwqePfvkykaXDP8Kzg+JolMpxzuc3t4JEMa4nphC1sGrfWeS IVIY6JxDqhemEkKIfncH44OLg9VslJgx0bL5hKQlkaiAkkI+qfX1XDzISmz6xnif pzxz9Zwu9/j9GBgBxuD3T5AhnVj5gqjEt7Y4n/V6b/b78KAY9CJDy/nP+oXc4xmF tdenMH6ZThOdmzwfaQGC4NSJXRK+9Rk8/8JSnQIDAQABAoIBADPERinAV+hWf+Yy Azf7Jn75HmgnycG9d+km8nHL65DrXnDE2T6De9UuSmnL9EdZYSJE1/wRjcgNwOF1 ifB+2gxxpt3Ay0ceXv4oqFnAXutGTZh7ZZ2dc8mjoK/voeksyafKU/l/pMqmJp5T qdSNZyDE1pPxiZ7d4S5lD5z7uCuCPELG8ZwGVjFY2xtcaIqfy0kPr5SDmkLDrktI 6Mxo2YFlae8tqvgud9LKZt9R5ubxyftgHf80bVJXVOvKNhN5UYNWssJ6FBt23jjb pAK6oASATYyITC4a5leqR7vWW3m/wvYiHslouS0vmaxhdOdb4JUafLevmHtYlBZ3 8aGhM2ECgYEA6JQKDijObACWU6DCDKdadq2l0l3RSHOvncStIex/kM9vOgXHZ88d DNEJB7l639t+Kv956uDr6WY7se7b5H+UVR4Wf8iTe9uexsJLiA/+LMBWEiY/qmE1 3lk4vHwYPWynmEyu/+ZtlNgQzHn0npvktgPCV1Hr/PcXzuxkvnbS+MMCgYEA2tcT Cb9EJvhcKg/xUzidFtf5SSRu8yezxi+0gydOccuqm8j5jF9jXUZ4IASPpZH3zJRQ x0SJuOfhhQevuyLI+HD6n3nVEAKc42xSuOYmLrErrbTOHIkwErhtcC05b79EdAbM JObyA51O2jYCaY/VEny5cSLyYzATbhFn67p10R8CgYAtOdxatISva83PpUsWutRU j5/XMHcp55UW0M/58Ms9lZjDZ6xG+3dirqNa5S6HqV73bYZ/rg0x7bdd+ly4Kjbl 9lvZrV9Ajoxpig61/qYmfaA/F0D6GL0o56CoxljQWPieHQtKp7xXXUym9nAjB52J 52E7KasCHep7SmysvN55kQKBgELCpAswL0FYOP2X+X3y4nFql6EJnVNOhFhsizwL jLHIeRanXAHHw89bxR+3ZH8VJaxifrYboYwoKTNlIeYL+ZVZGgv2pdoJggUbMa04 gONzpyiJ5Ortqx2655/2G/SMO/zNag/D6IbTwY9uNJQxjcXjCMuL5rf9nZ/RbYuL SY/vAoGAGkb/uKGnAhQc+ihcZaZAdZytOTFfEs5692J1rBAhisx1gDCEdkgOp1kH 2mHBwOexAvegb7MUzoRTw5cNYfYCmhkgQg+qOdLDSLvaFGSMNtkdftMif9E88oJ4 9mIblJfi2+GzpBee/I3RP+gxbLa+a83iw7TwQGLjssnjJ2QOsu4= -----END RSA PRIVATE KEY-----

如果是在windows下,進入C:\Users\myname\.ssh,路徑里面的myname是windows登錄用戶名,然后創建一個文本文檔,把私鑰復制進去,再把文件名改為id_rsa,不要.txt的后綴

4 初始化Git倉庫

初始化一個倉庫,將倉庫的owner改為剛才創建的用戶git,這樣用戶git就能操作這個倉庫了

cd /home/git/ git init --bare fallshum.git chown -R git:git fallshum.git/

5 客戶端克隆倉庫

客戶端打開Git Bash,clone服務端倉庫

git clone git@192.168.1.1:/home/git/fallshum.git

只要看到Checking connectivity... done就說明OK了

6 禁用shell登錄

如果有需要禁用shell登錄的話,執行

usermod -s /sbin/nologin git

禁用之后,可能出現錯誤提示fatal: protocol error: bad line length character: This
原因及解決辦法參考這里
重新開啟,執行

usermod -s /bin/bash git

7 多key管理

ssh在客戶端連接服務端的時候,默認使用~/.ssh/id_rsa私鑰文件。當我們需要連接多個服務端的時候,需要進行多key配置。首先,通過上面步驟3.2操作,生成了兩個密鑰對,分別將兩個公鑰放到對應服務器的~/.ssh/authorized_keys里面。將私鑰文件放到客戶端的~/.ssh/目錄下,給兩個不同的命名,比如aliyun_rsa、tengxunyun_rsa,
在.ssh目錄下新建config文件,配置如下

# 配置文件參數 # Host 一個自定義名稱,比如叫做aliyun,那么clone倉庫的時候,就要用git clone git@aliyun:/home/git/fallshum.git # HostName 實際要連接的主機地址 # PreferredAuthentications 配置登錄時用什么權限認證--可設為publickey,password publickey,keyboard-interactive等 # IdentityFile 指明要使用的identityFile路徑,也就是私鑰的地址 # User 用戶名# aliyun Host aliyun HostName 192.168.1.1 PreferredAuthentications publickey IdentityFile ~/.ssh/aliyun_rsa User fallshum# tengxunyun Host tengxunyun HostName 192.168.1.1 PreferredAuthentications publickey IdentityFile ~/.ssh/tengxunyun_rsa User fallshum

配置完成之后,可以在客戶端用如下指令檢驗ssh是否配置成功

ssh git@aliyun

登錄成功

exit退出

成功連接上,我們再分別嘗試一下clone

git clone git@aliyun:/home/git/aliyun.git git clone git@tengxunyun:/home/git/tengxunyun.git

都成功了

總結

以上是生活随笔為你收集整理的Git私服搭建与使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。