1.使用 git 客戶的生成公私鑰:id_rsa、id_rsa.pub
1.1設置Git的user name和email:
$ git config --global user.name "xxx"
$ git config --global user.email "xxx.mail@xxx.com"
1
2
1.2.生成SSH密鑰過程:
1.2.1.檢查是否是已經存在密鑰(能進去說明已經存在,就刪掉文件夾,從新建立):
cd ~/.ssh
1.3.生成 SSH 密鑰:
$ ssh-keygen -t rsa -C 「xxx.mail@xxx.com」
按3個回車,密碼爲空。
1.4.文件存放位置 ~/.ssh,若是是window的話就在:C:\Users\Administrator.ssh 下面,固然若是你不是 Administrator 用戶的話,須要換成對應的用戶。
2.設置 SourceTree 的 SSH客戶端
1.配置SourceTree 的 SSH 客戶的爲:OpenSSH
1.1.工具->選項
1.2.設置 OpenSSH,這時候,SSH 密鑰這一欄天然會去選擇當前用戶下的 .ssh 目錄下的 id_rsa 這個私鑰:
3.添加 ~/.ssh/id_rsa.pub 文件內容到 git 服務器裏面去
git
3.1.好比你的 git 服務是 github,那麼你須要在 https://github.com/settings/keys 裏面添加 SSH key github
3.2.SourceTree 來下載 git 項目 服務器
3.2.1.複製你的 git 地址:git@github.com:ztd770960436/justgame.gitssh
3.2.2.從 SourceTree 裏面新建一個地址,這時候你發現你本地已經能夠下載遠程的 git 代碼了
4.解釋:
1.ssh-keygen 是公鑰私鑰的非對稱加密方式:
1.1.公鑰:用於向外發佈,任何人都能獲取。
1.2.私鑰:要本身保存,切勿給別人
2.公鑰私鑰加解密的原理
2.1.客戶端把本身的公鑰存放到要連接的遠程主機上(至關於咱們把本身的 id_rsa.pub 存放到 git 服務器上)
2.2.客戶端要連接遠程主機的時候,遠程主機會向客戶的發送一條隨機的字符串,客戶的收到字符串以後使用本身的私鑰對字符串加密而後發送到遠程主機,遠程主機根據本身存放的公鑰對這個字符串進行解密,若是解密成功證實客戶端是可信的,直接容許登陸,不在要求登陸。
---------------------
工具