1. 程式人生 > >git管理本地多個sshkey

git管理本地多個sshkey

平時開發中最常用的就是git了,自從用上git,svn和VSS之類的程式碼管理工具基本上就放棄使用了,隨之而來的問題就是公司的git伺服器上會新增一個ssh-key,GitHub新增一個ssh-key、Coding.net也會新增一個ssh-key。那麼這些ssh-key是如何管理的呢?請看下面的方法:

首先,針對不同的git伺服器我們需要生成不同的ssh-key:

ssh-keygen -t rsa -f ~/.ssh/id_rsa -C "Work"  
ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "GitHub"  

當然也有些人會將-C裡填寫郵箱進行區分,看個人愛好。

然後cat每個key,將內容分別新增到對呀的ssh-key中去,建立config配置檔案:

vim ~/.ssh/config  

填入以下內容:

Host *.companydomain.com
    IdentityFile ~/.ssh/id_rsa
    User liyang

Host github.com
    IdentityFile ~/.ssh/id_rsa.github
    User liyangpro

保證許可權沒有問題:

chmod 600 ~/.ssh/config

這一切做完以後,那麼今後提交程式碼的時候ssh會根據登陸不同的域來讀取相應的私鑰檔案,再也不會要求輸入賬戶密碼啦。

本篇教程只區別每個git伺服器僅一個ssh-key,如果你有多個github賬號那麼可能就需要稍作修改,建立key和繫結ssh-key的方法不變,只在配置檔案中稍作區別,在倉庫連結中對應修改下即可。enjoy it!