SSH Key 介紹
SSH提供了兩種級別的安全驗證
第一種級別是基于密碼的安全驗證,知道賬號和密碼,就可以登陸到遠程主機。Team的開發工作中,就是使用這種方式登陸編譯服務器,或者開發機器。因為是在內網中,這種級別的安全驗證已經足夠了。
第二種級別是基于Public-key cryptography (公開密匙加密)機制的安全驗證.其優點在于無需共享的通用密鑰,解密的私鑰不發往任何用戶。即使公鑰在網上被截獲,如果沒有與其匹配的私鑰,也無法解密,所截獲的公鑰是沒有任何用處的。
生成SSH Key
以下步驟都是要安裝Git才能運行的。如果是mac用戶,安裝了xcode就會默認安裝了Git。如果是win用戶,請先安裝Git,win環境安裝有兩種方式。一種是Git Bash,一種是Git Desktop。個人推薦使用Git Bash.因為Git Desktop是要在線下載安裝的,速度很慢。
- 設置username和email
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
- 創建SSH Key
$ ssh-keygen -t rsa -C "youremail@example.com"
你需要把郵件地址換成你自己的郵件地址,然后一路回車,使用默認值即可.
如果一切順利的話,可以在用戶主目錄里找到.ssh目錄,里面有id_rsa和id_rsa.pub兩個文件,這兩個就是SSH Key的秘鑰對,id_rsa是私鑰,不能泄露出去,id_rsa.pub是公鑰,可以放心地告訴任何人。
添加秘鑰到ssh-agent(可選)
確保 ssh-agent 是可用的。ssh-agent是一種控制用來保存公鑰身份驗證所使用的私鑰的程序,其實ssh-agent就是一個密鑰管理器,運行ssh-agent以后,使用ssh-add將私鑰交給ssh-agent保管,其他程序需要身份驗證的時候可以將驗證申請交給ssh-agent來完成整個認證過程。
# start the ssh-agent in the background
eval "$(ssh-agent -s)"
Agent pid 59566
添加生成的SSH Key到ssh-agent
$ ssh-add ~/.ssh/id_rsa
提交公鑰
登陸GitHub,打開“Account settings”,“SSH Keys”頁面:
然后,點“Add SSH Key”,填上任意Title,在Key文本框里粘貼id_rsa.pub文件的內容。
最后點“Add Key”,你就應該看到已經添加的Key。