應(yīng)用場景:一般自己的,公司的都會有多個遠(yuǎn)程倉庫温数,為了安全起見,就要用多組ssh key.
環(huán)境(mac)
第一步:生成ssh key
ssh-keygen -t rsa -C? "xxxx@email.com"
? ? ? 注:此處會可以設(shè)置密碼介却,不過一般的直接回車柱搜,不設(shè)密碼;默認(rèn)生成文件id_rsa癣蟋、id_rsa.pub透硝,一個私鑰、一個公鑰(文件路徑~/.ssh)疯搅;
此處還可以一下方式直接指定文件
ssh-keygen -t rsa -C? "xxxx@email.com" -f ~/.ssh/github
如果在生成秘鑰時設(shè)置了密碼濒生,可以通過以下步驟提升使用效率
如果您的私鑰使用密碼短語來加密了的話,每一次使用 SSH 密鑰對進行登錄的時候幔欧,您都必須輸入正確的密碼短語罪治。
而 SSH agent 程序能夠?qū)⒛囊呀饷艿乃借€緩存起來丽声,在需要的時候提供給您的 SSH 客戶端。這樣子觉义,您就只需要將私鑰加入 SSH agent 緩存的時候輸入一次密碼短語就可以了雁社。這為您經(jīng)常使用 SSH 連接提供了不少便利。
引自:https://wiki.archlinux.org/index.php/SSH_keys_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#SSH_agents
因為默認(rèn)只讀取id_rsa晒骇,為了讓SSH識別新的私鑰霉撵,需將其添加到ssh agent中:
ssh-add ~/.ssh/github
? ? ? 注:ssh-add more
第二部:添加config
在.ssh下創(chuàng)建“config”
Host github.com ? //域名
? ? ?HostName github.com? //域名
? ? ?User xxx
? ? ?IdentityFile ~/.ssh/github ?//此處是私鑰的路徑
? ? 注:其規(guī)則就是:從上至下讀取config的內(nèi)容,在每個Host下尋找對應(yīng)的私鑰厉碟。這里將GitHub SSH倉庫地址中的git@github.com替換成新建的Host別名如:github2喊巍,那么原地址是:git@github.com:username/Mywork.git屠缭,替換后應(yīng)該是:github2:username/Mywork.git.
引自:http://www.reibang.com/p/65303f8e5f10
最后把公鑰加到遠(yuǎn)程倉庫就好了
測試:
ssh T git@github.com