如何在一個電腦上存儲多個git賬戶生成的多份rsa秘鑰,實現多個賬戶同時使用配置的情況?今天,不幸又再次遇到這個問題。
問題描述
公司最近在開發一款開源產品,項目被托管在github上,但是公司內部一直使用的是gitlab,而且早就配了gitlab的rsa秘鑰。之前的做法是重新生成一個github秘鑰,覆蓋掉之前的gitlab秘鑰。每次切換過程就意味每次需要重新生成一份秘鑰。只有兩個賬戶的情況還能勉強接受下,某一天再想搞個小號刷副本時,這酸爽真的沒法形容。
解決辦法
今天總算想了一個辦法,解決方式如下:
首先,使用終端ssh命令生成第一個默認的rsa秘鑰。ssh-keygen -t rsa -C "$your_email"
一直回車下去。生成結果如圖所示:

默認情況下,這個rsa秘鑰是在你個人賬戶的.ssh目錄下面,存在一個id_rsa私鑰文件和id_rsa.pub公鑰文件。然后復制公鑰文件中的字符串。
進入github賬戶setting選項SSH and GPG keys,把復制的公鑰字符串粘貼里面的key輸入框中,保存退出即可。
通過終端ssh測試可知,出現如下提示內容,說明秘鑰已經生成且添加成功。

此時,我們生成的id_rsa秘鑰是默認的。接着以同樣的方式創建第二個秘鑰,再創建秘鑰的過程中會出現如下提示:
我們需要重新命名一個文件和默認id_rsa秘鑰文件區分開,生成之后發現.ssh目錄下面存在兩份秘鑰,如圖所示:

然后我們在.ssh目錄下面新建config文件,文件內容如下:

每份秘鑰和對應的git網址對應。然后清空known_hosts文件內容。至此,大功告成。
我們可以通過ssh命令驗證結果。

