使用不同 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> # 金鑰位置