使用不同 ssh 金鑰登入 github

Ubuntu 系統網路使用不同 ssh 金鑰登入 github 指令

在 github 抓取 Repository 時,我們常常用 git ssh 帳號去 clone 一個 Repository,像是:

git clone git@github.com:laravel/laravel.git

而使用 ssh 去 clone Repository 時,則會需要 ssh 金鑰 才能夠順利的將專案複製下來,但只要有正確的金鑰,我們在每一次對 Repository 進行 clone / push / pull / fetch 的時候,則都不需要輸入帳號密碼即可完成操作(只要你的帳號有足夠的權限的話)

但當我們有個人的專案及公司的專案都在 github 時,且不同的專案所需要的 ssh 金鑰 皆不同時,則需要設定在不同的狀況需要使用不同的金鑰去存取我們的 Repository。

例如 git@github.com:kj/kj.git 需要 id_rsa_kj_personal 的金鑰,但 git@github.com:kj-company/compony-project.git 則需要 id_rsa_kj_company 的金鑰

此時可以使用的解法有下列 2 個

設定 .ssh/config 檔案

.ssh/config 的設定檔案格式像下方

Host <host_alias>                       # 主機別名
    HostName <hostname_or_ip>           # 主機網址或 ip
    IdentityFile <private_key_path>     # 金鑰位置