GitLab設置SSH Key詳解

一、GitLab設置SSH Key

GitLab是一款開源的,基於Web界面的Git代碼託管平台。SSH Key是GitLab中訪問Git代碼倉庫的重要授權方式之一。若我們想使用SSH Key來訪問GitLab上的代碼倉庫,我們需要以下步驟:

1、生成公/私鑰對

ssh-keygen -t rsa -C "your_email@example.com"
Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): /c/Users/you/.ssh/id_rsa_GitLab

2、將公鑰(這裡的id_rsa_GitLab.pub)添加到GitLab伺服器中

cat ~/.ssh/id_rsa_GitLab.pub

在你的個人主頁->設置->SSH密鑰中添加SSH密鑰即可。

二、GitLab設置SSH連接

若您當前還未在自己的計算機上設置過SSH Key,那麼需要我們首先設置SSH連接。具體操作步驟如下:

1、安裝Git

sudo apt-get install git

2、檢查是否已經設置了SSH Key

ls -al ~/.ssh

如果已經設置過,你會看到以下內容:

-rw-------. 1 exampleuser exampleuser 1766 Jun 24  07:49 id_rsa
-rw-r--r--. 1 exampleuser exampleuser  406 Jun 24  07:49 id_rsa.pub

如果還未設置,OMG!你可以執行下面的命令生成新的SSH Key:

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

三、GitLab設置SSH Key後仍然需要密碼

如果你設置了SSH Key, 但是你仍然需要每次輸入密碼才能夠訪問GitLab上的倉庫,你需要檢查是否已經將存在的鑰匙添加到agent的認證提供者中。參考下面的步驟:

1、確保你的內存鑰匙需要添加

ssh-add -l

正常情況下,你會看到一些ID匹配的輸出。

2、在本地添加鑰匙

ssh-add ~/.ssh/id_rsa

如果你仍然需要輸入密碼,你可以創建文件~/.ssh/config,並將以下內容複製到其中:

Host gitlab.com
    Preferredauthentications publickey
    IdentityFile ~/.ssh/id_rsa

四、GitLab設置SSH公鑰

一般情況下,你可以在電腦上終端中執行以下命令生成公鑰:

cat ~/.ssh/id_rsa.pub

複製公鑰,在GitLab上設置即可:

1、打開GitLab的頁面,在右上角展開用戶頭像的下拉菜單,點擊「Settings」,然後選中左側的「SSH Keys」。

2、新建密鑰並將生成的公鑰添加到Key中。

五、GitLab設置SSH密鑰

SSH Key由兩部分組成:標識和密鑰(公/私鑰)。公鑰用於授權,私鑰用於身份認證。這裡創建密鑰的過程與創建公鑰的過程基本相似。

1、在終端中打開SSH Agent:

eval "$(ssh-agent -s)"

2、為SSH Agent添加密鑰

ssh-add ~/.ssh/id_rsa_yourkey

六、GitLab設置SSH埠

不同的GitLab伺服器可能會運行在不同的SSH伺服器埠上,而我們在通過SSH連接到伺服器的時候需要知道伺服器運行在哪個埠,否則我們將無法通過SSH網路協議連接到伺服器。 可以在首頁中選擇「Settings」, 然後在 SSH Keys 中選擇”Add SSH Keys”,就可以輸入相關的信息來添加SSH Keys了。

如果你需要自定義SSH埠,需要編輯~/.ssh/config文件添加如下內容:

Host gitlab.com
    Port 10022
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa

七、GitLab SSH設置

GitLab中可以設置SSL證書,以及WebHooks等內容,我們在這裡列出如何設置GitLab中的SSH。在右上角「頭像->Settings->SSH Keys」點擊Add SSH Key輸入:

Title:ssh關鍵字
Key:(粘貼你電腦生成的公鑰)

八、GitLab設置為中文

如果你想將GitLab頁面設置成中文,只需要在你的個人主頁–Settings–Preferences–Language中選擇中文即可。

九、GitLab設置域名

如果你的GitLab服務部署在公共雲環境中,建議使用自定義域名加以保護。可以通過DNS CNAME(別名)方式綁定自己喜歡的域名,具體操作如下:

1、在自己的DNS管理處增加一條CNAME記錄指向自己的GitLab域名。

2、在GitLab的管理控制台中,設置自己的域名。

3、為了確保服務及時響應,可以在自己的DNS管理處設置DNS解析時間較短,如60秒。

下面是一個例子:

gitlab.example.com. IN CNAME _your_gitlab_url_.

執行完了哦!現在你可以快樂地享受GitLab帶來的好處了!

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
WKWB的頭像WKWB
上一篇 2024-10-27 23:50
下一篇 2024-10-27 23:51

相關推薦

  • Python如何遍歷字典中的key和value

    本文將詳細講解Python中如何遍歷字典中的key和value,包括多種遍歷方式以及在遍歷過程中的一些應用場景。 一、遍歷字典中的key和value 在Python中,字典是一種無…

    編程 2025-04-29
  • Python SSH 遠程執行命令

    Python SSH 遠程執行命令是指在一個伺服器上執行遠程另一個伺服器上命令。如果你需要在本地機器上執行命令,或者在遠程機器上執行本地命令,你都可以使用 SSH。在 Python…

    編程 2025-04-29
  • Python字典輸出key對應的value

    本文將從多個方面詳細闡述Python字典輸出key對應的value,包括獲取單個和多個key的value值、如何判斷一個key是否存在、如何遍歷所有的key-value對和如何刪除…

    編程 2025-04-28
  • etcd查看key value

    etcd是一個高可用的鍵值存儲組件,它為分散式系統提供了一個可靠的方式來存儲數據。本篇文章將介紹如何通過etcd查看key value,包括使用etcdctl命令行工具和Go語言的…

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

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

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

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

    編程 2025-04-25
  • 詳解eclipse設置

    一、安裝與基礎設置 1、下載eclipse並進行安裝。 2、打開eclipse,選擇對應的工作空間路徑。 File -> Switch Workspace -> [選擇…

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

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

    編程 2025-04-25
  • git config user.name的詳解

    一、為什麼要使用git config user.name? git是一個非常流行的分散式版本控制系統,很多程序員都會用到它。在使用git commit提交代碼時,需要記錄commi…

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

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

    編程 2025-04-25

發表回復

登錄後才能評論