GitHub設定使用SSH Key的好處就是可以使用SSH連線,並且提交程式碼的時候可以不用輸入密碼,免密提交。

生成SSH Key

這裡我們使用PuTTYgen來生成公鑰(Public Key),私鑰(Private Key)和PuttyKey。在使用PuTTYgen之前,你需要先安裝

TortoiseGit

先來簡單說明一下要生成的這幾個公鑰。

公鑰(Public Key)

這個是公開的,可以告訴別人的,要被新增到GitHub上面的。

私鑰(Private Key)和PuttyKey

這個是私有的,要儲存好的,不能告訴別人,只能自己使用的。使用這個私有KEY就可以訪問你的GitHub了。

PuTTYgen

在開始選單中找到PuTTYgen,並開啟:

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

點選生成,然後在Key區域隨意移動滑鼠,直到Key生成完畢:

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

將公鑰複製下來,如果要儲存,可以點選Save public key把它儲存起來,這裡一定

不要關閉

PuTTYgen工具,因為一會還要用私鑰:

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

登入你的GitHub,並進入設定:

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

進入SSH and GPG keys選單,並點選New SSH key

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

輸入名稱,並貼上剛才複製的公鑰,然後再點選Add SSH key進行新增:

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

這裡會要求你輸入密碼進行安全驗證,確認密碼以後就新增成功了:

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

接下來我們就可以使用私鑰來拉取和提交你的個人倉庫了,有兩種方式:

TorotiseGit + PuttyKey

Git Bash + SSH Key

要注意的是,雖然PuttyKey和SSH Key都是私有KEY,但它們的格式是不一樣的,所以要注意使用正確的KEY。

TorotiseGit + PuttyKey

首先,我們需要把PuttyKey儲存起來,回到剛才的PuTTYgen工具,點選Save private key,進行儲存,如果要使用密碼保護,可以在紅框處輸入密碼:

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

不輸入密碼的話,會彈出一個提示,確認是不是不要密碼保護,點Yes就可以儲存了。

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

輸入名稱,點選儲存:

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

複製你的倉庫地址,注意切換為SSH地址:

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

點選複製:

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

到目標資料夾, 滑鼠右鍵,選擇Git Clone

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

TortoiseGit會自動幫你填充好相應的地址和目錄,注意選擇剛才儲存的Putty Key:

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

點選確定就可以開始Clone了:

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

Git Bash + SSH Key

接下來我們換一種方式,使用SSH,在Linux或者MAC下就可以這樣使用命令來clone倉庫。

首先,先儲存SSH key,回到PuTTYgen工具,點選選單Conversions>Export OpenSSH key,將PuttyKey轉為SSH Key:

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

因為沒有密碼,還是會彈出確認提示,點選是就可以儲存了:

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

到目標目錄,滑鼠右鍵,選擇Git Bash Here,開啟Git Bash:

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

輸入命令:

ssh-agent bash

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

再輸入命令ssh-add {SSH Key},可以直接將SSH Key檔案拖進來,方便輸入路徑,回車就可以了。如果是有密碼的,會在這時候要求你輸入密碼:

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫

然後再使用 git clone命令就可以開始clone倉庫了:

git clone git@github。com:SeriaWei/ZKEACMS。Core。git

GitHub設定使用SSH Key,用TortoiseGit進行Clone倉庫