Git多帳號配置,同一電腦多個ssh-key的管理

爲何有這種需求?

在咱們開發過程當中,可能會遇到使用同一臺機器,既要向公司git服務器提交代碼,也要向gitlib或者gitee等
git倉庫提交代碼,2個倉庫設置的用戶名信息,不同,此時須要用到多個ssh-key管理.主要包含如下幾個步驟.git

生成對應的私鑰公鑰

1. 生成github.com對應的私鑰公鑰github

ssh-keygen -t rsa -C xxx@126.com

**2. 一樣的方式生產git.oschina.net的私鑰公鑰shell

ssh-keygen -t rsa -C xxx@163.com
把上面獲得的文件拷貝到git默認訪問的.ssh目錄(默認就存在當前登陸用戶文件夾.ssh目錄)

如圖所示
bash

把github對應的公鑰和oschina對應的公鑰上傳到服務器
在.ssh目錄建立config文本文件並完成相關配置(最核心的地方)

每一個帳號單獨配置一個Host,每一個Host要取一個別名,每一個Host主要配置HostName和IdentityFile兩個屬性便可服務器

Host的名字能夠取爲本身喜歡的名字,不過這個會影響git相關命令,例如:
Host mygithub 這樣定義的話,命令以下,即git@後面緊跟的名字改成mygithub
git clone git@mygithub:cary/sample.gitssh

HostName           這個是真實的域名地址
IdentityFile          這裏是id_rsa的地址
PreferredAuthentications   配置登陸時用什麼權限認證--可設爲publickey,password publickey,keyboard-interactive等
User            配置使用用戶名

** config文件配置以下:**ide

#gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_self
User cary

#github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_self
User cary
打開Git Bash客戶端(管理員身份運行)執行測試命令測試是否配置成功(會自動在.ssh目錄生成known_hosts文件把私鑰配置進去)

**使用ssh -T 校驗測試

ssh -T git@gitee.com
若是成功會顯示以下:
Hi cary! You've successfully authenticated, but GITEE.COM does not provide shell access.
相關文章
相關標籤/搜索