最近在學習Git,每次pull/push都要提示輸入密碼,比較煩。而且由於網絡速率比較慢,等好一段時間才能輸密碼。爲了避免輸入密碼,折騰了好久。
原理
TortoiseGit基於putty的ssh實現密鑰認證。
1、git服務器配置
1.1 切換到git,在git用戶下操作,避免後期權限更改
su - git
1.2 生成密鑰
ssh-keygen -t rsa
生成公鑰和私鑰
1.3 將公鑰加進authorized_keys
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
如果你使用的GitHub,登錄到github,點擊右上方的Accounting settings,選擇SSH key,點擊Add SSH key,把id_rsa.pub中的內容複製過去就可以了。
2 客戶端配置
因爲TortoiseGit使用的密鑰與git並不一樣,它使用的是putty。要使用剛纔生成的密鑰,需要進行轉換。
2.1 下載私鑰
sz id_rsa
2.2 重新生成私鑰
打開“puttygen.exe“,點擊”load“,選擇剛纔上次的私鑰文件id_rsa,然後”save private key“保存成ppk文件。
2.3 git clone時指定私鑰
至此,大功告成。