首先我們要做的是查看 系統(tǒng)盤/user/yourUserName/.ssh 目錄下有沒有密鑰文件,一般默認(rèn)創(chuàng)建的名字為:id_rsa---私鑰调鬓,id_rsa.pub---公鑰文件;(總而言之只要你創(chuàng)建過密鑰缀踪,就會(huì)出現(xiàn)這類文件)虹脯。如果想丟棄以前配置的密鑰重配也可以通過命令:
$ cd ~/.ssh
查看是.ssh文件循集,有則刪除或備份刪除;
其次我們需要開始創(chuàng)建 "多套"密鑰:
- 命令行執(zhí)行創(chuàng)建命令:
$ ssh-keygen -t rsa -C “yourEmail”
注意email要和你需要匹配的平臺(tái)對(duì)應(yīng)疆柔。 - 重點(diǎn):接下來不能連敲三個(gè)空格镶柱,第一個(gè)你要輸入你的密鑰名稱,關(guān)鍵就在這里歇拆,因?yàn)槠綍r(shí)都是連敲三個(gè)空格造成名稱一樣所以覆蓋了原來的密鑰故觅,才會(huì)造成不能同時(shí)存在多套密鑰;輸入名稱之后的兩個(gè)需要你輸入的地方為密碼宋列,這里可以直接回車(回車表示密碼為空)评也;到這里我們?nèi)?ssh目錄看一下灭返,密鑰就創(chuàng)建成功了,你想創(chuàng)建多少套就創(chuàng)建多少套罚缕,唯一注意的是密鑰名稱需要設(shè)置的不一樣怎静。
- 在.ssh目錄下創(chuàng)建配置文件config(主要作用是分配不同平臺(tái)匹配不同的密鑰黔衡,可使用記事本打開編輯,注意此文件無擴(kuò)展名)創(chuàng)建命令為
$ touch config
內(nèi)容為:
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa```
```# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github```
```# coding
Host git.coding.net
HostName git.coding.net
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github```
4. 添加密鑰到ssh:ssh-add 文件名(其實(shí)是添加私鑰):
```$ ssh-add ~/.ssh/私鑰名稱(形如:id_rsa ) ```如果執(zhí)行ssh-add時(shí)提示"Could not open a connection to your authentication agent"盟劫,可以現(xiàn)執(zhí)行命令:```$ ssh-agent bash```然后再執(zhí)行ssh-add命令与纽。
5. 添加對(duì)應(yīng)公鑰到各個(gè)對(duì)應(yīng)平臺(tái),一般的:在平臺(tái)里有addsshkey之類的就是添加公鑰的入口影所;復(fù)制對(duì)應(yīng)的pub公鑰文件內(nèi)容(可用記事本打開)粘貼到公鑰填寫框中保存僚碎。
6. 使用命令測(cè)試是否鏈接到對(duì)應(yīng)的平臺(tái)```$ ssh -T git@github.com```(測(cè)試是否鏈接到github勺阐,如果測(cè)試gitlab就把@后邊改一下,coding應(yīng)該改為coding.net)
到這里我們就達(dá)到多套密鑰匹配多平臺(tái)的目的了:只要注意一下幾點(diǎn):
- 創(chuàng)建密鑰不能一直回車仓坞,需要輸入不同的名稱達(dá)到后創(chuàng)建的密鑰不覆蓋的先創(chuàng)建的密鑰的目的腰吟,當(dāng)然也可以直接在創(chuàng)建的時(shí)候就使用命令指定名稱```$ ssh-keygen -t rsa -C "yourEmail” -f ~/.ssh/SSHKeyName```麻麻再也不用擔(dān)心我手欠一直敲空格了。
- 創(chuàng)建同意管理密鑰的配置文件config文件是必不可少的嫉称,他的作用是一個(gè)調(diào)度站灵疮,管理著你相應(yīng)的平臺(tái)讀取相應(yīng)的密鑰织阅。
- ssh-add的一些命令:
``` 可以通過$ ssh-add -l 來確私鑰列表
可以通過$ ssh-add -D 來清空私鑰列表