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