SSH Key設定不求人-一台電腦多平台多個使用者,一次搞定!

閱讀時間約 5 分鐘

第一天上班,你需要設定 SSH key,因為你將使用 SSH 來 clone 代碼 Repo。SSH 與 HTTP 的主要差別在於安全性和速度,而 SSH 比 HTTP 更加安全和快速。本篇文章的主要目的是介紹如何在一台電腦上使用 SSH 登入多個 GitHub 和 GitLab 帳戶。

不管你的公司使用 GitHub 或 GitLab 作為代碼 Repo 的託管平台,以下內容都適用。

讓我們開始吧~

Step 1 生成 SSH key

首先,在終端機中使用以下命令生成 SSH key:

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

藉由 -f 參數,我們可以直接指定 SSH 金鑰的路徑。我們可以通過不同的檔名區分不同的金鑰,方便識別。如果不使用 -f 參數,則會跳出提示,要求輸入 SSH 金鑰的檔案名稱。預設情況下,SSH 相關資料會被儲存在 ~/.ssh 目錄中。

此步驟會在您指定的位置中生成兩個檔案,一個是公鑰,一個是私鑰。稍後我們需要將公鑰添加到 GitHub 或 GitLab 中。

Step2 設定SSH代理配置文件

藉由config這個檔案,為每個主機指定不同的ssh金鑰。

在~/.ssh新增config檔案

使用以下命令進入 .ssh 目錄:

cd ~/.ssh

創建一個名為 config 的新檔案,然後打開它:

touch config
open config

在 config 檔案中,您可以為每個主機指定不同的 SSH 金鑰。

# GitHub account 1

Host github.com-account1
HostName github.com
User git
IdentityFile ~/.ssh/github_account1_rsa

# GitHub account 2

Host github.com-account2
HostName github.com
User git
IdentityFile ~/.ssh/github_account2_rsa# Gitlab account 2

Host gitlab.com-account1
HostName gitlab.com
User git
IdentityFile ~/.ssh/gitlab_account1_rsa

最後,幫這隻檔案設定權限

chmod 600 ~/.ssh/config

Step3 將 SSH 金鑰添加到 ssh-agent 中

把剛剛新增的ssh key加進來

ssh-add ~/.ssh/gitlab_userName_rsa

ssh-agent 就會自動使用你的 SSH 金鑰進行身份驗證

你可以使用 ssh-add -l 命令來列出 ssh-agent 中已經添加的 SSH 金鑰。如果一切正常,你會看到你剛剛添加的 SSH 金鑰的指紋。

Step4 添加公鑰到遠程存儲庫

登錄到您的 GitHub 或 GitLab 帳戶,將您的 SSH 公鑰添加到帳戶的 SSH 金鑰列表中。

輸入以下指令讀取公鑰

cat ~/.ssh/step1創建的檔案名稱.pub
raw-image
raw-image

final step: 接下來我們就可以利用git clone把專案複製下來啦!

git clone git@gitlab.com-userabc:g5391/myCompany/my-repo.git

語法為

git clone <你在官網點git clone複製的那段>

不過要將預設的host改為剛剛你在config file寫好的host,它就會知道hostName是誰,要看哪份鑰匙。

Ps第一次連線到新主機時會跳出
The authenticity of host ‘gitlab.com (172.65.251.78)’ can’t be established.
ECDSA key fingerprint is SHA256:xxxx
這時請檢查他打印出來的fingerprint是對的,沒問題輸入yes就可,這步驟結束後他會將這個金鑰指紋添加到你的 known_hosts 檔案中(也是在~/.ssh中),以便將來進行自動驗證。

總結

設定 SSH 金鑰可以幫助你更加安全、更加高效地使用 Git,特別是在需要同時使用多個 GitHub 或 GitLab 帳戶時。總體而言,我們利用不同檔名以及config檔來做到一台電腦多個平台多個帳號的SSH key管理,一旦設置成功,就可以使你的工作更加順暢。

4會員
10內容數
分享感情與生活的故事,期望我們都能在愛與被愛的路上感到幸福,並且在這個只有活一次的人生裡好好的活成自己喜歡的樣子
留言0
查看全部
發表第一個留言支持創作者!
JHIHLEI LIN的沙龍 的其他內容
雖然lambda本身的概念就是主打無伺服器+各自獨立運行的function,但有時又不免其然的需要共用代碼,像是api可能都需要做權限驗證。 會有這方面的研究是因為公司正好要將app跟web共用的api搬到api gateway去處理,但我馬上就想到會有code reuse的問題,怎麼樣用可維護的
要談論DBMS,除了SQL語法之外,我們還必須了解底層是怎麼處理資料儲存的,也就是DBMS架構的底層Disk Space Management: Disk Space Management 提供API來讀/寫資料到硬碟,資料會以Page為傳輸單位,為什麼會一次要等到這麼大才寫入硬碟或一次要讀這麼
我對於自己開發的API會習慣性寫一份swagger文件方便前端串接,但因為這些文件都是存在我個人的swagger帳號,且會受限於免費版限制,再加上剛好跟PM在討論如何維護我們的文件,於是我就開始著手將swagger自己部署到公司管理後台。 這樣做的好處: (1)後端都可以編輯 (2)文件隸屬於
雖然lambda本身的概念就是主打無伺服器+各自獨立運行的function,但有時又不免其然的需要共用代碼,像是api可能都需要做權限驗證。 會有這方面的研究是因為公司正好要將app跟web共用的api搬到api gateway去處理,但我馬上就想到會有code reuse的問題,怎麼樣用可維護的
要談論DBMS,除了SQL語法之外,我們還必須了解底層是怎麼處理資料儲存的,也就是DBMS架構的底層Disk Space Management: Disk Space Management 提供API來讀/寫資料到硬碟,資料會以Page為傳輸單位,為什麼會一次要等到這麼大才寫入硬碟或一次要讀這麼
我對於自己開發的API會習慣性寫一份swagger文件方便前端串接,但因為這些文件都是存在我個人的swagger帳號,且會受限於免費版限制,再加上剛好跟PM在討論如何維護我們的文件,於是我就開始著手將swagger自己部署到公司管理後台。 這樣做的好處: (1)後端都可以編輯 (2)文件隸屬於
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Jenkins很多操作有使用者權限,此使用者必須是「jenkins」,server若要透過SSH向agent發起連線,必須先在agent那台新增一個使用者 「jenkins」 新增語法 先確認現在使用者權限是 root su root 新增user useradd jenkins 設定
Thumbnail
城市是有味道的,居民常不自覺地讚揚自己所居住的地方,那大概是人們最基本的認同感和歸屬感,有關城市的名曲無數,New York, New York,San Francisco 舊金山/三藩市,Lisboa Antiga 里斯本安提瓜島,早安台北、台北之夜等等..........,無論過去,無論未來
Thumbnail
Linux是一個非常好用、兼具效能、靈活度高的作業系統, 唯一的缺點就是學習曲線較為陡峭, 一開始難以入門, 但假若學會了, 對於我們的作業效率勢必事半功倍, 尤其是軟體工程師、IT人員…。 過程中難免遇到一些零零總總的狀況, 不過沒關係! 一項項慢慢解決即可。 前景提要 有一天,工程
👨‍💻Intro 為了實現vscode在wsl環境下使用ssh連接到gce的需求,在爬文後找到一篇解法,因此記錄下來,方便日後查詢 🎯setup 建立ssh.bat檔案,並放在windows下任意位置 2. vscode設定ssh.bat路徑 打開vscode的settings -> exte
Thumbnail
有很多工作,我希望我能在畢業前就知道--那些讓文組有機會享有高薪,同時有社會地位的工作,而重點客戶經理(Key account manager)就是其中之一
Thumbnail
Keylontic (Keylonta) 形態發生學是科學與靈性觀點之間的結合,通過它我們可以開始了解我們與神聖的聯繫,並了解我們個人進化目的的現實。
Thumbnail
在樹林間進行活動的感覺真的很棒   Keypunch 是過往我們很常操作的平面體驗活動,器材好預備應該是一個很棒的特色,數字牌的使用甚至可以直接拿撲克牌來替代就行,這會是在帶領團體動力的課程時,把它刻意設計安排進去、或是因應團體的發展而臨時放入都行。  
Thumbnail
Single layer of the petal, in light violet color, widely stretched, so simple. Dark violet color line, perfectly enriches the shape of each petal,
Thumbnail
純卡牌類遊戲雖然受到廣大玩家喜愛,但我一向試圖著要敬而遠之,因為害怕口袋裡的荷包會受難。即使如此,多年來還是不斷地受到卡牌遊戲的誘惑,並且不論電子卡牌或是實體卡牌,從爐石戰記、矩陣潛襲、到Magic: The Gathering Arena(MTGA),每款都令荷包受難。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Jenkins很多操作有使用者權限,此使用者必須是「jenkins」,server若要透過SSH向agent發起連線,必須先在agent那台新增一個使用者 「jenkins」 新增語法 先確認現在使用者權限是 root su root 新增user useradd jenkins 設定
Thumbnail
城市是有味道的,居民常不自覺地讚揚自己所居住的地方,那大概是人們最基本的認同感和歸屬感,有關城市的名曲無數,New York, New York,San Francisco 舊金山/三藩市,Lisboa Antiga 里斯本安提瓜島,早安台北、台北之夜等等..........,無論過去,無論未來
Thumbnail
Linux是一個非常好用、兼具效能、靈活度高的作業系統, 唯一的缺點就是學習曲線較為陡峭, 一開始難以入門, 但假若學會了, 對於我們的作業效率勢必事半功倍, 尤其是軟體工程師、IT人員…。 過程中難免遇到一些零零總總的狀況, 不過沒關係! 一項項慢慢解決即可。 前景提要 有一天,工程
👨‍💻Intro 為了實現vscode在wsl環境下使用ssh連接到gce的需求,在爬文後找到一篇解法,因此記錄下來,方便日後查詢 🎯setup 建立ssh.bat檔案,並放在windows下任意位置 2. vscode設定ssh.bat路徑 打開vscode的settings -> exte
Thumbnail
有很多工作,我希望我能在畢業前就知道--那些讓文組有機會享有高薪,同時有社會地位的工作,而重點客戶經理(Key account manager)就是其中之一
Thumbnail
Keylontic (Keylonta) 形態發生學是科學與靈性觀點之間的結合,通過它我們可以開始了解我們與神聖的聯繫,並了解我們個人進化目的的現實。
Thumbnail
在樹林間進行活動的感覺真的很棒   Keypunch 是過往我們很常操作的平面體驗活動,器材好預備應該是一個很棒的特色,數字牌的使用甚至可以直接拿撲克牌來替代就行,這會是在帶領團體動力的課程時,把它刻意設計安排進去、或是因應團體的發展而臨時放入都行。  
Thumbnail
Single layer of the petal, in light violet color, widely stretched, so simple. Dark violet color line, perfectly enriches the shape of each petal,
Thumbnail
純卡牌類遊戲雖然受到廣大玩家喜愛,但我一向試圖著要敬而遠之,因為害怕口袋裡的荷包會受難。即使如此,多年來還是不斷地受到卡牌遊戲的誘惑,並且不論電子卡牌或是實體卡牌,從爐石戰記、矩陣潛襲、到Magic: The Gathering Arena(MTGA),每款都令荷包受難。