需求: linux
公司有github帳號,本身有github帳號,想在git上同時使用,二者互不干擾。git
思路: github
管理兩個SHH key。bash
解決方案:ssh
1、生成兩個SSH key測試
爲了舉例方便,這裏使用「one」和「two」兩個帳戶。下同。spa
$ ssh-keygen -t rsa -C "one@gmail.com" $ ssh-keygen -t rsa -C "two@gmail.com"
不要一路回車,分別在第一個對話的時候輸入重命名(id_rsa_one和id_rsa_two),這樣會生成兩份包含私鑰和公鑰的4個文件。命令行
注1:ssh-keygen是linux命令,可讓兩個機器之間使用ssh而不須要用戶名和密碼 code
住2:必定要在~/.ssh路徑下運行命令行,否則生成的文件不會出如今當前目錄blog
2、添加私鑰
一、打開ssh-agent
(1)若是你是github官方的bash:
$ ssh-agent -s
(2) 若是你是其它,好比msysgit:
$ eval $(ssh-agent -s)
二、添加私鑰
$ ssh-add ~/.ssh/id_rsa_one $ ssh-add ~/.ssh/id_rsa_two
3、建立config文件
$ touch config
此時會出現空的config文件,而後添加以下內容:
# one(one@gmail.com) Host one.github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_one User one # two(two@ gmail.com) Host two.github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_two User two
4、部署SSH key
分別登錄兩個github帳號,進入Personal settings –> SSH and GPG keys:
點擊"new SSH key", 把下面兩個公鑰的內容分別添加到相應的github帳號中。
5、遠程測試【可跳過】
$ ssh –T one.github.com $ ssh –T two.github.com
6、使用
一、clone到本地
(1)原來的寫法:
$ git clone git@github.com: one的用戶名/learngit.git
(2)如今的寫法:
$ git clone git@one.github.com: one的用戶名/learngit.git $ git clone git@two.github.com: two的用戶名/learngit.git
二、記得給這個倉庫設置局部的用戶名和郵箱:
$ git config user.name "one_name" ; git config user.email "one_email" $ git config user.name "two_name" ; git config user.email "two_email"
三、上述都成功後,會發現鑰匙會由灰變綠。