git下多個賬號配置,同一電腦上多個sshkey的管理


需求:
公司有gitee賬號,自己有gitee賬號,想在git上同時使用,兩者互不干擾。
 
思路:
管理兩個SHH key。
 
解決方案:
 
一、生成兩個SSH key
 
為了舉例方便,這里使用“my”和“mirror”兩個賬戶。下同。
 
$ ssh-keygen -t rsa -C "my @gmail.com"
 
$ ssh-keygen -t rsa -C "mirror @gmail.com"
 
不要一路回車,分別在第一個對話的時候輸入重命名(id_rsa_gitee_my和id_rsa_gitee_mirror),這樣會生成 兩份包含私鑰和公鑰的4個文件。
 
注1:ssh-keygen是linux命令,可以讓兩個機器之間使用ssh而不需要用戶名和密碼
注 2:一定要在~/.ssh路徑下運行命令行,不然生成的文件不會出現在當前目錄
注3:config文件是自己添加的,known_hosts文件是后期自動生成的
 
 
二、添加私鑰(可忽略,我沒用到)
 
1、打開ssh-agent
(1)如果你是github官方的bash:
$ ssh-agent -s
(2) 如果你是其它,比如msysgit:
$ eval $(ssh-agent -s)
 
2、添加私鑰
$ ssh-add ~/.ssh/id_rsa_gitee_my
 
$ ssh-add ~/.ssh/id_rsa_gitee_mirror
 
三、創建config文件
 
$ touch config
 
此時會出現空的config文件,然后添加如下內容: 
# my
Host my        
HostName gitee.com
User git       
IdentityFile ~/.ssh/id_rsa_gitee_my
 
# mirror 
Host mirror        
HostName gitee.com
User git       
IdentityFile ~/.ssh/id_rsa_gitee_mirror
 
注:config每行之前不要留空格,同時注意config文件的編碼格式,最好是在vim下自己手寫(沒幾行代碼) 
 

在.ssh目錄創建config文本文件並完成相關配置(最核心的地方)

 
 
以下錯誤是前車之鑒:
這個就是我在Notepad++編寫的,上網查找說是空格影響的,把空格刪了,發現還是有問題,最后在vim里寫了下,好使了,回過頭來發現Notepad在編輯的時候把編碼改了
 
四、部署SSH key
 
分別登陸兩個gitee賬號,進入設置 ->安全設置 -> ssh公鑰
 
 把下面兩個公鑰的內容分別添加到相應的gitee賬號中。
  
五、遠程測試【可跳過】
 
$ ssh –T git@my
 
$ ssh –T git@mirror
 
出現以下情況就算是完成了:
 
 
 
 
六、使用
 
1、clone到本地
(1)原來的寫法:
$ git clone git@github.com: mirror的用戶名
(2)現在的寫法:
$ git clone git@my:my的用戶名/項目名.git
 
$ git clone git@mirror: mirror的用戶名/項目名.git
 
2、記得給這個倉庫設置局部的用戶名和郵箱:
$ git config user.name "my_name" ; git config user.email "my_email"
$ git config user.name "mirror_name" ; git config user.email "mirror_email" 
配置全局用戶名和郵箱
$ git config global user.name "my_name" ; git config global user.email "my_email"
 
 
如果你是協同開發的,那你應該是有自己的分支,這是你需要在本地添加遠程倉庫地址,如有如下命令即可:
$ git remote add sivan(別名,自己隨意起) 倉庫的url(可以是ssh,也可以是https)

 

 

 
如果還是不知道如何 生成公鑰?可以搜索  碼雲幫助文檔 找到 3.2 公鑰認證管理 
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM