Git Bash使用ppk

問題描述:

通過git bash連接到服務器需要ssh key,但是我現在只有一個ppk的文件,所以我需要把ppk文件轉成ssh key。

連接原理:

git連接到遠程倉庫有兩種方式:
1:http的方式,http每次使用的時候都需要填寫用戶名和密碼;
2:ssh方式,ssh方式配置完ssh秘鑰就不用每次填寫用戶名密碼了(可能需要輸入私鑰密碼)。

ssh秘鑰分為公鑰和私鑰是成對的,公鑰放到遠程git倉庫,私鑰放到本地git倉庫,ppk文件就是一個私鑰,用來給Tortoisegit客戶端使用,并且可以轉換成ssh key給git bush使用。

ppk轉ssh key:

需要使用Putty Key Generator工具進行轉換,點擊load按鈕,


image.png

加載已經存在的ppk文件,如果這個ppk文件讀取需要密碼,輸入密碼后就可以把ppk文件里面的信息讀取出來,然后點擊Conversions菜單,選擇Export OpenSHH key選項


image.png

保存成名為id_rsa文件(沒有擴展名),這個文件就是ssh 形式的私鑰。放到C:/user/用戶名/.ssh文件夾下(每個人的文件夾可能不一樣)。這就相當于私鑰轉換成了把git bash需要的格式。

git bash配置:

進行git操作發現還要每次輸入私鑰的密碼,如下圖所示:


image.png

再進行如下操作就可以把私鑰的密碼配置給git bash,這樣以后就不用再輸入這個密碼了。

ssh-agent
ssh-add

參考:https://stackoverflow.com/questions/10032461/git-keeps-asking-me-for-my-ssh-key-passphrase

使用msysgit Bash on Windows時,需要執行下面的命令才能成功啟動。否則接下來使用ssh-add時會出現Could not open a connection to your authentication agent的錯誤:

eval `ssh-agent -s`或eval $(ssh-agent -s)

但是Windows git bush上并不起作用,最后我把私鑰的密碼修改為空,才不用輸入密碼。
修改秘鑰密碼:

ssh-keygen -p

總結:

Git bush私鑰每次都要輸入密碼,其實也是一種安全措施,保護你的電腦被別人操作時,不能隨意進行git操作。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容