1. 程式人生 > >使用TortoiseGit時如何實現SSH免密碼登入

使用TortoiseGit時如何實現SSH免密碼登入

公司的版本伺服器使用了GIT,每次pull/push都要提示輸入密碼,比較煩。而且由於網路速率比較慢,等好一段時間才能輸密碼。為了避免輸入密碼,折騰了好久。

Git客戶端使用的軟體如下:

Git-1.9.2-preview20140411.exe

TortoiseGit-1.8.8.0-64bit.msi

1.      Git配置

連線GIT伺服器使用的是SSH連線,因此無密碼登入,需要使用公鑰和私鑰。

1)     生成公鑰/私鑰

在Git Shell中輸入ssh-keygen命令,直接回車使用預設路徑和檔名,然後提示輸入密碼的時候,直接回車。


我之所以折騰了好久,就是因為沒有使用預設的檔名,導致GIT找不到私鑰檔案。

2)     釋出公鑰

將生成的id_rsa.pub,新增到伺服器的.ssh/authorized_keys中。

可以使用ftp/scp等方式把檔案傳到伺服器上,然後執行:

cat id_rsa.pub >> .ssh/authorized_keys

chmod 600 .ssh/authorized_keys

注意:要確保authorized_keys的許可權是600,如果許可權不對,有的SSH伺服器會不認這個檔案。

如果你使用的GitHub,登入到github,點選右上方的Accounting settings,選擇SSH key,點選Add SSH key,把id_rsa.pub中的內容複製過去就可以了。

2.      TortoiseGit配置

至此,git已經可以實現免密碼登入了。但是使用TortoiseGit時,還是會提示輸入密碼,因為TortoiseGit使用的金鑰與git並不一樣,它使用的是putty。要使用剛才生成的金鑰,需要進行轉換。

1)     生成公鑰/私鑰

開啟“puttygen.exe“,點選”load“,選擇剛才上次的私鑰檔案id_rsa,然後”save private key“儲存成ppk檔案。

2)     指定使用的私鑰

在TortoiseGit的Settings中,指定Putty Key為上一步生成的ppk檔案。

 

這樣,TortoiseGit就可以實現免密碼登入了。