關於 web service, unity, blogger 等軟體工程筆記

TortoiseGit 配置 PuTTY Key

Edit icon 沒有留言
Cyber security

每次使用 TortoiseGit 進行專案遠端的 Pull/Push 都需要輸入一次認證,次數多了覺得麻煩懶惰,怎麼沒法記憶認證密碼這一回事?原來只是不會用而已…,以下筆記使用 PuTTY 建立 SSH Key,讓 Git 使用 SSH Key 認證,而不用每次進行遠端操作時,都要在輸入一次密碼。

執行 PuTTY Key Generator (PuTTYGen),按下 Generate 產生一組 Key。要動動滑鼠產生亂數,讓 PuTTY 建立鑰匙,滑鼠移動越多,能越快產生完,不要傻呼呼等待都不做事,那不會有完成的一天:

PuTTY key generator

把產生的 SSH 公開金鑰 (Public Key) 複製到 Git Server 的管理介面上。「My Profile」> 「SSH Keys」 on Gitblit Server,若是 GitHub 請參考官方文件 Adding a new SSH key to your GitHub account

copy ssh key into git server

在輸出私密金鑰 (Private Key) 之前,可以輸入一組密碼 (Key passphase) 來保護該金鑰。若如此做,每次重新開機後,第一次使用 Git Pull/ Push 時,PuTTY 都會先問一次該密碼,以解開該私密金鑰,讓後續遠端操作使用。實務上,所處的環境是只有對內 Git Server,所以沒有必要特別保護該金鑰,因此在製作時沒有加入密碼保護。

Insert key passphase

按下 Save private key 輸出私密金鑰,放在合適的資料夾中,檔案格式為 *.ppk。

使用 TortoiseGit Menu 開啟 Settings,選擇 Git,可以只編輯該 Repository 的 config,或是 Global gitconfig。由於只有一個 Git Server,一組 Git 帳號,為了之後設定方便,選擇修改 Global gitconfig。

tortoisegit edit config

加入以下,其中 puttykeyfile 為剛剛輸出的私密金鑰檔案位置:

[remote "origin"]
puttykeyfile = C:\\Users\\siyuan\\Documents\\my-git-private.ppk
edit global gitconfig

存檔,測試 TortoiseGit Pull/ Push,沒問題即完成所有設定。

注意:若 Local .git/config 中,已經存在 puttykeyfile 該項參數時,TortoiseGit 便不會採用 Global .gitconfig 的 puttykeyfile 設定

Reference

沒有留言: