TortoiseGit使用ssh-keygen生成的私鑰

1.說明

使用TortoiseGit自帶的PuTTY Key Generator工具,
把ssh-keygen生成的私鑰轉換爲Putty使用的.ppk文件,
而後在拉取Git代碼時,
加載對應的.ppk文件,
就能成功拉取代碼。html

1.1.背景

爲了同時使用TortoiseGit和git bash管理一份Git代碼,
雖然大部分時候使用TortoiseGit圖形化界面很是方便,
可是有的操做仍是須要使用git bash命令行。git

使用ssh-keygen生成了對應的私鑰和公鑰:安全

C:\Users\yuwen\.ssh\id_rsa
C:\Users\yuwen\.ssh\id_rsa.pub

在git bash上配置而且成功拉取了代碼,
可是使用TortoiseGit拉取代卻失敗了。bash

1.2.緣由

TortoiseGit是經過Putty進行私鑰/公鑰驗證的,
可是隻能加載.ppk格式的私鑰文件。
若是強制加載ssh-keygen生成的私鑰文件,
會出現下面的錯誤:ssh

Couldn't load this key (OpenSSH SSH-2 private key)

須要把ssh-keygen生成的私鑰轉換爲Putty可以識別的私鑰。工具

1.3.ssh-keygen

OpenSSH提供了實現SSH協議的不少工具。
其中就包含ssh-keygen工具,
能夠生成、管理和轉換用於認證的密鑰和證書。this

OpenSSH是SSH協議的開源版本。
使用SSH傳輸的數據都進行了加密,
比telnet,ftp等明文傳輸工具更安全。加密

2.轉換私鑰

運行TortoiseGit的bin目錄下的puttygen.exe工具:.net


11810589-77b09468ffbc63d6.png

點擊Load,選擇須要加載的文件,
這裏選擇ssh-keygen生成的id_rsa私鑰:命令行


11810589-89ad70a79f066a2a.png

私鑰加載成功,提示保存爲Putty私有的格式,
點擊確認便可:
11810589-5d29df06e8637610.png

工具會顯示具體加載到的key:


11810589-f1819a323117b719.png

而後選擇Save private key,
彈出告警,提示未設置保護密碼,點擊是便可:
11810589-606c8041767a9289.png

保存爲.ppk格式的私鑰:
11810589-689ba7973d274c1b.png

3.加載新的私鑰

在TortoiseGit拉取代碼界面:


11810589-67f2fa9935185458.png

點擊Manage Remotes:


11810589-9fb2005e27d1de9d.png

點擊Remote下面的origin,
能夠看到Git代碼對應的URL,

而後在Putty Key選擇剛纔生成的.ppk文件便可。


11810589-cfc0517d085472cd.png

點擊肯定後,繼續拉取代碼便可成功。

4.考文章

在git與tortoisegit中使用openSSH與PuTTY
如何在TortoiseGit中使用ssh-keygen生成的key
tortoiseGIT ssh方式

相關文章
相關標籤/搜索