場景:使用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
?
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
