Git公鑰配置詳解

一、生成SSH key

首先在本地生成SSH key,生成的key將被綁定到你的Git賬號, 用於進行ssh協議的身份驗證。

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

命令解釋:

  • ssh-keygen:用於生成SSH密鑰。
  • -t rsa:指定密鑰類型為RSA。
  • -b 4096:指定密鑰長度為4096位。
  • -C:用於注釋,表示SSH key所屬的郵箱賬號。

執行命令後會提示輸入密鑰保存路徑,這裡直接按回車即可,表示保存到默認的路徑。

接著會提示輸入密碼,不輸入即為無密碼,輸入後需要記住密碼,否則下次使用SSH時需要重新輸入。

輸入密碼後,SSH key生成完畢,包括公鑰和私鑰,公鑰默認在~/.ssh/id_rsa.pub中,私鑰默認在~/.ssh/id_rsa中。

二、添加公鑰到Git賬號

為了與Git賬號建立聯繫,需要將新生成的公鑰添加到Git賬號上。

  1. 打開 GitLab 網站,點擊右上角頭像下拉框中的「Settings」,進入「User Settings」頁面。
  2. 選擇側邊欄中的「SSH Keys」選項卡,然後點擊「Add SSH Key」按鈕。
  3. 在「Add an SSH key」頁面中,粘貼上一步產生的公鑰內容。
  4. 設置一個有意義的Title(描述該 SSH Key 的名稱)。
  5. 點擊「Add key」按鈕提交公鑰。

至此,Git賬號和本地ssh key已經關聯成功。

三、測試SSH連接

配置完SSH key後,我們需要測試一下是否配置成功,以免出現意外在代碼倉庫的使用中遇到問題。

$ ssh -T git@gitlab.com

命令解釋:

  • ssh:用於連接遠程伺服器。
  • -T:表示測試連接是否可用,連接成功會顯示「Welcome to GitLab」。
  • git@gitlab.com:是GitLab的SSH連接地址,這個地址針對於你操作的不同的Git伺服器而有所不同,需要自己去獲取。

執行命令後,如果連接成功,則會輸出:

Welcome to GitLab, @username!

其中,@username就是你的用戶名。

如果輸出不是以上內容,而是一些警告信息或者其他錯誤提示,那麼說明SSH連接還存在問題,需要進一步排查。

四、使用SSH連接Git代碼倉庫

如果以上的步驟都順利完成,就可以在使用Git時,將協議從HTTP切換為SSH了。切換後,以後每次向Git代碼倉庫推送代碼的時候,都不需要再輸入密碼了。

例如,將進行遠程克隆代碼操作:

$ git clone git@gitlab.com:username/project.git

命令解釋:

  • git:表示使用Git工具進行代碼版本管理。
  • clone:表示進行代碼克隆操作。
  • git@gitlab.com:username/project.git:是你想要克隆代碼的地址,同樣需要自己去獲取。

執行完上述命令後,如果連接成功,則會將遠程代碼庫的所有文件下載到本地進行版本控制。

五、撤銷已添加的SSH key

如果某一天你不再想使用某個SSH key,那麼你可以將這個SSH key撤銷掉,操作如下:

  1. 在GitLab的「User Settings」頁面中選擇「SSH Keys」選項卡,找到要刪除的SSH key選項。
  2. 點擊右側「Revoke」按鈕,撤銷該SSH key的訪問許可權。

如果有代碼倉庫在使用這個SSH key,那麼撤銷該SSH key後,這些代碼倉庫就會失去訪問許可權,需要重新配置SSH key。

原創文章,作者:URLOB,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/333787.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
URLOB的頭像URLOB
上一篇 2025-02-01 13:34
下一篇 2025-02-01 13:34

相關推薦

  • Git secbit:一種新型的安全Git版本

    Git secbit是一種新型的安全Git版本,它在保持Git原有功能的同時,針對Git存在的安全漏洞做出了很大的改進。下面我們將從多個方面對Git secbit做詳細地闡述。 一…

    編程 2025-04-29
  • 如何優化 Git 性能和重構

    本文將提供一些有用的提示和技巧來優化 Git 性能並重構代碼。Git 是一個非常流行的版本控制系統,但是在處理大型代碼倉庫時可能會有一些性能問題。如果你正在處理這樣的問題,本文將會…

    編程 2025-04-29
  • Idea2022變更Git地址

    本文將從以下幾個方面對Idea2022變更Git地址進行詳細闡述: 一、GitHub上修改Git倉庫地址 1、登錄GitHub,找到需要修改的Git倉庫 2、在代碼頁面點擊右上角的…

    編程 2025-04-28
  • 通過提交信息搜索-使用git

    本篇文章重點講解如何使用git通過提交信息來搜索。我們將從多個方面介紹如何使用git來搜索提交信息,並提供相應的代碼示例以供參考。 一、搜索方式 Git提供了三種搜索方式,分別為:…

    編程 2025-04-27
  • Java項目Git發布流程規範

    本文旨在介紹Java項目在使用Git進行發布時的流程規範。Git作為一個版本控制工具,其功能十分強大,但是對於Java項目進行發布時,需要我們根據標準化的流程規範來執行操作,以確保…

    編程 2025-04-27
  • 使用Pycharm從Git上Clone項目的步驟

    在本篇文章中,我們將會詳細介紹如何使用Pycharm工具從Git上Clone項目。 一、打開Pycharm並進入Welcome界面 首先,我們需要打開Pycharm工具,並進入We…

    編程 2025-04-27
  • 神經網路代碼詳解

    神經網路作為一種人工智慧技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網路的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網路模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁碟中。在執行sync之前,所有的文件系統更新將不會立即寫入磁碟,而是先緩存在內存…

    編程 2025-04-25
  • nginx與apache應用開發詳解

    一、概述 nginx和apache都是常見的web伺服器。nginx是一個高性能的反向代理web伺服器,將負載均衡和緩存集成在了一起,可以動靜分離。apache是一個可擴展的web…

    編程 2025-04-25
  • Python輸入輸出詳解

    一、文件讀寫 Python中文件的讀寫操作是必不可少的基本技能之一。讀寫文件分別使用open()函數中的’r’和’w’參數,讀取文件…

    編程 2025-04-25

發表回復

登錄後才能評論