http://blog.csdn.net/roly_yu/article/details/53483258
http://blog.csdn.net/yasaken/article/details/7348441
最后發現幾點注意事項:
1 利用對應的用戶名郵箱生成key
2 生成多個的時候記得自定義key的名稱,否則會覆蓋原有的key
3 在與服務器進行首次ssh連接時會出現如下提示,輸入yes以繼續,因為ssh會把你每個你訪問過計算機的公鑰(public key)都記錄在~/.ssh/known_hosts。當下次訪問相同計算機時,OpenSSH會核對公鑰,所以首次會有一個添加過程。
3 在進行ssh連接時,默認會使用的private key為id_sra,所以當我們改變了key的名稱或者是多個key的時候需要指定key的位置。
在~/.ssh中創建config文件,然后利用IdentityFile 指定key的位置
生成SSH-Key
打開終端,前往.ssh目錄
生成一個SSH-Key
$ ssh-keygen -t rsa -C "youremail@email.com"
- 1
- 1
自定義生成key的名字
設置密碼
成功生成SSH-Key
配置SSH-Key
在~/.ssh/目錄下會生成id-rsa_hostname和id-rsa_hostname.pub私鑰和公鑰。 我們將id-rsa_hostname.pub中的內容粘帖到服務器的SSH-key的配置中。
$ cat id_rsa_hostname.pub
- 1
- 1
在GitHub的設置中粘貼公鑰
測試
$ ssh -T git@github.com
- 1
- 1
配置多個SSH-Key
打開Finder前往.ssh文件夾
編輯config文件
#github Host github HostName github.com User xxx@xxx.com IdentityFile ~/.ssh/id_rsa_1 #github2 Host github2 HostName github2.com User xxx2@xxx.com IdentityFile ~/.ssh/id_rsa_2 #github3 Host github3 HostName github3.com User xxx3@xxx.com IdentityFile ~/.ssh/id_rsa_3
設置名稱為id_id_rsa的肯定沒有問題了,
發現設置成其他名稱的就算配置了 IdentityFile 依然報錯
這是可以執行 ssh -v git@github.com
發現根本沒有尋找設置的名稱
所以hack的方式就是將另一個名稱設置成id_dsa 因為回默認找這個文件