詳解:爲GitHub、Gitlab賬號同時添加、管理多個SSH-Key

GitHubGitLab是目前最流行的代碼託管平臺,前者常常用於個人代碼託管,而後者常用於企業代碼託管。因此在實際工作中,我們通常會在同一臺電腦設備上,使用這兩個平臺進行代碼託管。

SSH-Key是這兩個平臺的密鑰認證方式,爲自己的電腦添加密鑰認證,可以更加簡單、高效、安全地完成代碼託管的工作。

本文將詳細講解如何在同一臺電腦上爲兩個平臺添加不同的SSH-Key,並且管理這些密鑰。

實例講解

1. 註冊賬號

用自己的郵箱註冊GitHubGitlab賬號,註冊過程忽略。

在這裏插入圖片描述

在這裏插入圖片描述

2. 下載Git

Git安裝包網址

在這裏插入圖片描述

進入網站下載自己電腦對應的版本、直接安裝即可。

安裝完成後,在CMD中輸入下面的代碼,查看Git的版本號。

git -- version

在這裏插入圖片描述

3. 生成SSH-Key

打開GitBashGit安裝成功後會自動在鼠標右鍵添加GitBash)輸入以下命令生成密鑰。

在這裏插入圖片描述

ssh-keygen -t ed25519 -C "[email protected]"  -f ~/.ssh/gitlab_id_rsa

ssh-keygen -o -t rsa -b 4096 -C "[email protected]" -f ~/.ssh/gitlab_id_rsa

[email protected] 代表註冊Gitlab賬號時用的郵箱

-f 代表文件名

~/.ssh/ 代表ssh的文件路徑

gitlab_id-rsa 代表ssh文件名(可以自定義)

在這裏插入圖片描述

在這裏插入圖片描述

到這裏,我們就生成了一個Gitlab的密鑰,GitHub密鑰的生成方式同上。

4. 添加SSH-Key

複製密鑰的方式有兩種。

  1. 輸入cat ~/.ssh/ssh文件名 | clip ,例如cat ~/.ssh/gitlab_id_rsa.pub | clip,複製ssh key。

  2. 直接用記事本打開gitlab_id-rsa.pub,複製SSH-Key

複製好對應平臺的密鑰後,就可以到對應平臺的SSH-Key中添加密鑰了

在這裏插入圖片描述

在這裏插入圖片描述

5. 測試密鑰

添加完SSH-Key後,我們需要測試密鑰是否可用,以GitHub爲例,在GitBash中輸入以下的命令。

ssh -T [email protected]

在這裏插入圖片描述

如圖所示GitHub的密鑰認證成功,Gitlab密鑰認證的測試方式同上。

需要注意的是,由於Gitlab是私有代碼倉庫,測試時需要在git@後面輸入Gitlab所在ip地址域名,才能正確測試。

6. 多個密鑰管理

當你在同一臺電腦下生成多個密鑰時,你就需要對多個密鑰進行認證管理,否則你的密鑰將無法正常使用。

具體步驟如下。

6.1 添加config文件

首先在./ssh/文件夾下手動config文件,配置密鑰信息。

在這裏插入圖片描述

# gitlab
Host gitlab.com
HostName gitlab.com
User root
IdentityFile ~/.ssh/id_rsa

# github
Host github.com
HostName github.com
User root
IdentityFile ~/.ssh/id_rsa_github

Host 代表 關鍵詞
HostName 代表 主機地址
User 代表 用戶名
IdentityFile 代表 認證文件

6.2 添加密鑰信任

完成配置,還需要對每個密鑰添加信任,打開Git Bash 輸入下面的指令。

eval $(ssh-agent -s)

ssh-add ~/.ssh/other_id_rsa

eval 代表 開啓代理認證指令

ssh-add 代表 添加ssh文件認證

在這裏插入圖片描述

需要重點提醒,config文件主要用於管理密鑰信息,並沒有實際功能,不添加config文件直接爲密鑰添加信任也是可以的。

但是考慮到密鑰信息的管理,強烈建議添加config文件,配置好密鑰的信息。

6.3 gitlab官方示例

在這裏插入圖片描述

7. 多密鑰認證測試

完成多祕鑰認證後,通過ssh -T git@,測試不同平臺的密鑰是否能連接成功。

7.1 GitHub

在這裏插入圖片描述

7.2 Gitlab

在這裏插入圖片描述

Git常用命令

最後附上常用的Git命令,供大家參考使用

1. 遠程倉庫相關命令

檢出倉庫:$ git clone [git url]
查看遠程倉庫:$ git remote -v
添加遠程倉庫:$ git remote add [name] [url]
刪除遠程倉庫:$ git remote rm [name]
修改遠程倉庫:$ git remote set-url --push[name][newUrl]
拉取遠程倉庫:$ git pull [remoteName] [localBranchName]
推送遠程倉庫:$ git push [remoteName] [localBranchName]

2. 分支(branch)操作相關命令

查看本地分支:$ git branch
查看遠程分支:$ git branch -r

創建本地分支:$ git branch [name] ----注意新分支創建後不會自動切換爲當前分支
切換分支:$ git checkout [name]
創建新分支並立即切換到新分支:$ git checkout -b [name]

創建遠程分支(本地分支push到遠程):$ git push origin [name]
合併分支:$ git merge [name] ----將名稱爲[name]的分支與當前分支合併

刪除本地分支:$ git branch -d [name] 
刪除遠程分支:$ git push origin -d [name]

3. 本地項目連接遠程倉庫

查看當前項目下所有文的狀態:$ git status

(.)點表示當前目錄下的所有內容,交給git管理:$ git add .

對你更新或修改了哪些內容做一個描述:$ git commit –m”new natter ”

查看你當前項目遠程連接的是哪個倉庫地址:$ git remote -v 

將本地的項目提交到遠程倉庫中:$ git push origin master 

將遠程倉庫項目拉到本地項目中:$ git pull origin master

結語

以上就是本文的全部內容了,感謝你的閱讀,如果你有什麼疑問或者建議,歡迎你隨時留言,互相討論。

最後,祝工作順利,生活幸福。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章