git配置多個ssh key

隨着工做的深刻,咱們一般都會有多個git帳戶。好比公司gitlab一個帳戶,github或gitee有一個帳戶。而平時咱們又回經過 配置ssh公私鑰認證的方式省去繁瑣的登陸遠程倉庫的操做,不一樣的git帳戶通常都是不一樣的郵箱,而ssh又經過郵箱生成,那麼就會涉及一個配置多對ssh key的問題git


爲Git配置SSH Key步驟


生成SSH Key

打開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

image


配置多個SSH Key


經過以上配置SSH key 的步驟,咱們能夠爲多個遠程倉庫配置配置SSH公鑰,本地~/.ssh/目錄以下所示域名

image

ssh-agent

打開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文件

在存放公私鑰的同級目錄下建立一個名爲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值'

出現如下提示則證實已經成功,能夠不用登陸像各個遠程倉庫提交代碼

image

相關文章
相關標籤/搜索