如何在同一台電腦上使用兩個github賬戶


場景:使用github的時候,大家都知道需要給該賬號添加一個SSH key才能訪問,參考具體設置。當然如果你在多台機器使用一個賬戶,你可以為該賬戶添加多個SSH key。由於github是使用SSH key的fingerprint來判定你是哪個賬戶,而不是通過用戶名,這樣你就可以在設置完之后,在本地直接執行下面的語句,它就會自動使用你的.ssh/id_rsa.pub所對應的賬戶進行登陸,然后執行相關命令。

1 #本地建庫
2 $ git init
3 $ git commit -am "first commit'
4 
5 #push到github上去
6 $ git remote add origin git@github.com:xxxx/test.git
7 $ git push origin master

但是如果你想在一台機器使用兩個github賬號(比如私人賬號和工作用賬號)。這個時候怎么指定push到哪個賬號的test倉庫上去呢?

 

解決方案(假設你已經擁有私有賬號且已經OK,現在想使用另一個工作用賬號):

1:為工作賬號生成SSH Key

$ ssh-keygen -t rsa -C "your-email-address"

#存儲key的時候,不要覆蓋現有的id_rsa,使用一個新的名字,比如id_rsa_work

 

2:把id_rsa_work.pub加到你的work賬號上

 

3:把該key加到ssh agent上。由於不是使用默認的.ssh/id_rsa,所以你需要顯示告訴ssh agent你的新key的位置

$ ssh-add ~/.ssh/id_rsa_work

# 可以通過ssh-add -l來確認結果

 

4:配置.ssh/config

$ vi .ssh/config

# 加上以下內容
#default github
Host github.com
  HostName github.com
  IdentityFile ~/.ssh/id_rsa

Host github_work
  HostName github.com
  IdentityFile ~/.ssh/id_rsa_work

 

5:這樣的話,你就可以通過使用github.com別名github_work來明確說你要是使用id_rsa_work的SSH key來連接github,即使用工作賬號進行操作。

#本地建庫
$ git init
$ git commit -am "first commit'
 
#push到github上去
$ git remote add origin git@github_work:xxxx/test.git
$ git push origin master

 

 ps: 如果執行ssh-add的時候,出現這樣的錯誤,說明ssh-agent沒有啟動起來

Could not open a connection to your authentication agent.

這個時候需要手動啟動ssh-agent:

exec ssh-agent /bin/bash

也可以直接在.bash_profile里面自動啟動,這樣就不用每次都手動啟動

SSH_ENV="$HOME/.ssh/environment"

function start_agent {
     echo "Initialising new SSH agent..."
     /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
     echo succeeded
     chmod 600 "${SSH_ENV}"
     . "${SSH_ENV}" > /dev/null
     /usr/bin/ssh-add;
}

# Source SSH settings, if applicable

if [ -f "${SSH_ENV}" ]; then
     . "${SSH_ENV}" > /dev/null
     #ps ${SSH_AGENT_PID} doesn't work under cywgin
     ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
         start_agent;
     }
else
     start_agent;
fi

 

 

 

 


免責聲明!

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



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