Preface
在工作的時候常常會遇到公司的 codebase 要設定 SSH 之後才能把自己的程式碼 commit 上去,可是這時候又會遇到自己的常常在使用的 codebase 可能是 Github, Gitlab......等等其他的服務。如果需要常常將 SSH key 作切換的話蠻麻煩的。所以這時候可以透過設定 config 讓 SSH 自動幫你切換 SSH key。
假設一下情境,目前有兩個 Git Repository: repoA (公司專案連接到公司的 codebase), repoB (個人的專案連接到個人的 Github)。透過設定檔告訴 SSH 當 repoA 要進行 commit 的時候需要連接到公司的 codebase 這時候透過 SSH config,SSH 就可以自動的幫你切換對應的 SSH key。要進行 commit repoB 的時候反之亦然。
Tutorial
首先切換到 SSH 的路徑底下
$ cd ~/.ssh/
接著使用 ssh-keygen 產生兩組 key,記得在產生 key 的過程中需要設定 key 的名稱,記得要設定成你自己容易區分的名字。例如: work_id, personal_id
$ ssh-keygen -t rsa -C "your comment"
接著使用文字編輯器在 SSH 的路徑底下建立一個叫做 config 的檔案
$ vim config //Config 內容如下 # GitHub.com server Host Github HostName github.com User github_user IdentityFile ~/.ssh/personal_id # Work codebase server Host Your company name HostName 127.0.0.1 #Your id address of your company codebase User your name port 7999 #According the setting of your company codebase IdentityFile ~/.ssh/work_id
設定檔也準備完成了之後,使用 ssh-add 把 work_id 和 personal_id 加入
$ ssh-add ~/.ssh/work_id $ ssh-add ~/.ssh/personal_id
使用 ssh-add -l 功能來檢查哪些目前有哪些 key 已經被加入了
別忘了把自己新產生 SSH key 註冊到 Github 以及公司的 codebase上。
接著你就可以試著從自己的 Github 上以及公司的 codebase 上抓一個 repo 測試一下連線是否有成功。
$ ssh-add -l
$ pbcopy < ~/.ssh/work_id.pub
0 comments:
Post a Comment