0%

在 GitLab 上新增 SSH key

GitLab 上的訊息提示

因為初次使用GitLab進行code管理
但要clone別人code時看到了這個提示

1
You won't be able to pull or push project code via SSH until you add an SSH key to your profile

提示訊息

為什麼會有這個提示呢?
原因是Gitlab每次執行clone、pull、push code等時都要輸入帳號與密碼。如果想要省略掉這個輸入密碼的步驟可以在local端生成SSH key,然後設定到GitLab上。

在local端產生SSH key

STEP1. 確認目前的電腦裡是否有id_rsa.pub

1
2
3
# 指令
$ cd ~/.ssh
$ ls

id_rsa.pub不存在的狀況

id_rsa.pub存在的狀況

如果id_rsa.pub已經存在,那麼你可以跳過STEP2,直接進入STEP3.設定GitLab

STEP2. 建SSH key

建立指令

1
$ ssh-keygen -t rsa -C "yourEmail@example.com

上面參數的含義:
– t 指定金鑰型別,預設是 rsa ,可以省略。
-C 設定註釋文字,如mail,這邊的mail需要是註冊Gitlab的那個mail。
-f 指定金鑰檔案儲存檔名。

SSH key的儲存路徑

由於以上指令沒有 -f 參數。所以,執行完後會讓你輸入一個檔名,用於儲存剛才生成的 SSH key 程式碼,如:

檔名可以不輸入

密碼

接下來是密碼的部分
如果沒有要設定驗證密碼,直接按 Enter 就可以產生SSH-key。
我這邊不設定密碼,我猜測這個如果設定這個密碼,使用時可能還需要key 密碼。

1
2
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

建立成功

當你看到以下畫面時,表示SSH key建立成功。

1
2
3
4
5
Your identification has been saved in /Users/dbit/.ssh/id_rsa.
Your public key has been saved in /Users/dbit/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256: ----
The key's randomart image is:-----

STEP3. 查看 SSH key

下指令,然後複製裡面的SSH key

1
$ cat ~/.ssh/id_rsa.pub

在GitLab上設定

  1. 點選右上角的選單,選擇「Settings」

  2. 左邊選單選擇「SSH key」進入到以下畫面:

  3. 把剛剛複製的那串SSH key貼上與填寫該SSH Key名稱即可。

  4. 測試:在local端 git clone (Clone with HTTPS URL)一次時,不用輸入帳號密碼表示成功。