iOS開發技巧之:SourceTree 新增 ssh key 方法
阿新 • • 發佈:2018-11-10
1.使用 git 客戶的生成公私鑰:id_rsa、id_rsa.pub
- 1.1設定Git的user name和email:
$ git config --global user.name "xxx"
$ git config --global user.email "[email protected]"
- 1
- 2
- 1
- 2
- 1.2.生成SSH金鑰過程:
- 1.2.1.檢查是不是已經存在金鑰(能進去說明已經存在,就刪掉資料夾,重新建立):
- cd ~/.ssh
- 1.2.1.檢查是不是已經存在金鑰(能進去說明已經存在,就刪掉資料夾,重新建立):
- 1.3.生成 SSH 金鑰:
- $ ssh-keygen -t rsa -C “[email protected]”
- 按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 這個私鑰:
- 1.1.工具->選項
3.新增 ~/.ssh/id_rsa.pub 檔案內容到 git 伺服器裡面去
- 3.1.比如你的 git 服務是 github,那麼你需要在 https://github.com/settings/keys 裡面新增 SSH key
- 3.2.SourceTree 來下載 git 專案
- 3.2.1.複製你的 git 地址:[email protected]
- 3.2.2.從 SourceTree 裡面新建一個地址,這時候你發現你本地已經可以下載遠端的 git 程式碼了
- 3.2.1.複製你的 git 地址:[email protected]
4.解釋:
- 1.ssh-keygen 是公鑰私鑰的非對稱加密方式:
- 1.1.公鑰:用於向外釋出,任何人都能獲取。
- 1.2.私鑰:要自己儲存,切勿給別人
- 2.公鑰私鑰加解密的原理
- 2.1.客戶端把自己的公鑰存放到要連結的遠端主機上(相當於我們把自己的 id_rsa.pub 存放到 git 伺服器上)
- 2.2.客戶端要連結遠端主機的時候,遠端主機會向客戶的傳送一條隨機的字串,客戶的收到字串之後使用自己的私鑰對字串加密然後傳送到遠端主機,遠端主機根據自己存放的公鑰對這個字串進行解密,如果解密成功證明客戶端是可信的,直接允許登入,不在要求登入。