場景:使用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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

