原文:https://www.xitongzongcai.com/info/50116.html
-----------------------
好多個定義表明:id_rsa、id_rsa.pub、ppk、pem
現階段有兩個流行的密鑰格式:OpenSSH格式的密鑰 和 PuTTY格式的密鑰。
- id_rsa和id_rsa.pub
全是OpenSSH格式的密鑰。
id_rsa是OpenSSH格式的SSH私鑰。
id_rsa.pub是OpenSSH格式的SSH公鑰。 - ppk文件
ppk文件是Putty的私鑰。PuTTY Private Key 的簡稱。
可是ppk文件中與此同時包括了公鑰和私鑰,可以用記事本開啓查看。 - pem文件
pem文件能夠包括任何東西: 具備公共性密鑰的資格證書,SSH公鑰,公鑰私鑰,具備公鑰私鑰的資格證書。 PEM是一個文本文件,可以用記事本開啓。
OpenSSH格式 和 PuTTY格式應用的都比較多,常常取得在其中一種格式,而應用中卻必須另一種格式的。這就必須轉換。
linux下的互相轉換
ppk轉換爲OpenSSH格式
安裝putty工具(以ubuntu爲例子)
sudo apt-get install putty-tools
已經知道PuTTY格式的ppk密鑰puttykey.ppk,獲得私鑰id_rsa
puttygen /path/to/puttykey.ppk -O private-openssh -o ~/.ssh/id_rsa
獲得公鑰id_rsa.pub
puttygen /path/to/puttykey.ppk -O public-openssh -o ~/.ssh/id_rsa.pub
OpenSSH格式轉換爲ppk
安裝putty工具(以ubuntu爲例子)
sudo apt-get install putty-tools
已經知道OpenSSH格式的私鑰keyname,轉換爲keyname.ppk
puttygen keyname -o keyname.ppk
windows下的互相轉換
也是依靠 puttygen 工具。
安裝putty工具,隨後開啓配套設施的puttygen.exe
ppk轉換爲OpenSSH格式
保存OpenSSH格式的私鑰
再保存OpenSSH格式的公鑰
OpenSSH格式轉換爲ppk
TortoiseGit 和 git 對密鑰的應用
TortoiseGit默認應用的是putty格式的密鑰。
git使用的是OpenSSH格式的密鑰。
TortoiseGit能夠將tortoisegitplink.exe改爲git安裝文件目錄的下bin\ssh.exe,隨後應用OpenSSH格式的密鑰。
linux下git假如僅有ppk密鑰,要想應用這一密鑰,必須進行以下二步:
- 把ppk密鑰轉換爲OpenSSH的公鑰id_rsa.pub和私鑰id_rsa
- 把這兩個文件移到~/.ssh文件夾下