隨着工做的深刻,咱們一般都會有多個git帳戶。好比公司gitlab一個帳戶,github或gitee有一個帳戶。而平時咱們又回經過 配置ssh公私鑰認證的方式省去繁瑣的登陸遠程倉庫的操做,不一樣的git帳戶通常都是不一樣的郵箱,而ssh又經過郵箱生成,那麼就會涉及一個配置多對ssh key的問題git
打開git bash終端,執行如下命令github
ssh-keygen -t rsa -C "你的郵箱"
而後一直回車,程序將會在的~/.ssh/路徑下生成一對公私鑰。至於爲了區分不一樣的公私鑰,生成後再更名字便可bash
如下命令能夠查看公鑰內容,而後複製ssh
cat ~/.ssh/id_rsa.pub
下面的已github爲例,gitlab和gitee過程都基本同樣,大體過程就是:gitlab
點擊我的頭像 -> settings -> SSH And GPG Key -> 點擊 新增SSH Key按鈕 -> 複製公鑰
code
如圖所示:blog
經過以上配置SSH key 的步驟,咱們能夠爲多個遠程倉庫配置配置SSH公鑰,本地~/.ssh/目錄以下所示域名
打開ssh-agentit
ssh-agent -s
ssh-agent就是一個密鑰管理器,運行ssh-agent之後,使用ssh-add將私鑰交給ssh-agent保管,其餘程序須要身份驗證的時候能夠將驗證申請交給ssh-agent來完成整個認證過程io
這裏若是你用的github官方的bash,用:
ssh-agent -s
若是是其餘的,好比msysgit,用:eval $(ssh-agent -s)
否則在添加私鑰的時候可能會報下面錯誤Could not open a connection to your authentication agent.
經過如下命令將全部私鑰進行添加
ssh-add ~/.ssh/私鑰
在存放公私鑰的同級目錄下建立一個名爲config的文件,打開進行配置,以下所示:
# gitee Host gitee.com HostName gitee.com PreferredAuthentications publickey IdentityFile ~/.ssh/gitee_rsa User Acelin_H # sitech Host git.si-tech.com.cn HostName git.si-tech.com.cn PreferredAuthentications publickey IdentityFile ~/.ssh/sitech_rsa User Acelin_H # github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/github_rsa User Acelin_H
Host: 取任意名字
HostName: 這個是真實的域名地址
IdentityFile:這裏是id_rsa的地址
PreferredAuthentications:配置登陸時用什麼權限認證--可設置publickey,password publickey,keyboard-interactive等
User:配置使用用戶名
執行如下命令進行驗證
ssh -T 'config配置的host值'
出現如下提示則證實已經成功,能夠不用登陸像各個遠程倉庫提交代碼