github創建多個sshkey

自己有github賬號,但是不怎麼往上面存代碼,很重要的原因是自己git玩得不是很溜,github越來越火,很多公司招聘都是要看github上的代碼,很多開源代碼也放在github上面,所以熟練掌握git github常用操作非常有必要

要實現遠程代碼上傳和下載,需要設置sshkey,github官方指南介紹的比較詳細,一步一步做下來沒有問題。但如果你的電腦裏面有了一個祕鑰id_rsa,這個祕鑰可能是你在公司用的git祕鑰,只能在公司內網使用,那麼這個密鑰對應的代碼託管地址應該是git.yourcompany.com,用戶名是youraccount.yourcompany.com,顯然跟你github託管地址和賬號不一致。如果還是按照官方指南來做,肯定會把id_rsa覆蓋,導致公司的git用不了。

所以需要創建多個sshkey,不同的key對應不同的源,可以方便地分別管理私人代碼和公司代碼,參考這兩篇博客:
http://www.cnblogs.com/fanyong/p/3962455.html
http://www.cnblogs.com/zichi/p/4704824.html

通過官方指南生成密鑰對後,可以看到相應生成的文件,在~/.ssh/目錄中,xxx_rsa是私鑰,xxx_rsa.pub是公鑰,git源裏面添加公鑰內容,才允許本地上傳代碼到遠端。其中id_rsa是默認sshkey,我的id_rsa設置爲公司的git源,所以我按官方指南生成了新的github的sshkey。當我們git傳代碼時,git會使用默認的id_rsa的sshkey,而不知道github的sshkey,所以需要進行相應的配置。.ssh裏面默認的配置文件爲config,在.ssh目錄裏面添加新的config文件,打開編輯,我的config如下,其中id_rsa對應默認sshkey,github2_rsa對應自己github的sshkey。

\# git company
Host yourcompany.com
    HostName yourcompany.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa

\# github
Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github2_rsa

.ssh目錄內容如下所示:

LiLingyudeMacBook-Pro:.ssh lilingyu1$ ls -al
total 64
drwx------  10 lilingyu1  staff   340  9 26 20:35 .
drwxr-xr-x+ 43 lilingyu1  staff  1462  9 26 20:45 ..
-rw-r--r--   1 lilingyu1  staff   293  9 26 20:38 config
-rw-------   1 lilingyu1  staff  3326  9 26 20:35 github2_rsa
-rw-r--r--   1 lilingyu1  staff   747  9 26 20:35 github2_rsa.pub
-rw-------   1 lilingyu1  staff  1675  9  7 15:29 id_rsa
-rw-r--r--   1 lilingyu1  staff   426  9  7 15:29 id_rsa.pub
-rw-r--r--   1 lilingyu1  staff  2807  9 26 19:36 known_hosts
LiLingyudeMacBook-Pro:.ssh lilingyu1$ 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章