在unix環境下使用puttygen產生公鑰?

在unix環境下使用puttygen產生公鑰?

可能的重複:
如何在 Linux 下*將 .ppk 金鑰轉換為 OpenSSH 金鑰?

(unix,此處:ubuntu 10.4)

我知道如何在 unix (ssh-keygen) 中建立 ssh 金鑰對以及如何在 windows (puttygen) 中建立 ssh 金鑰對。在我的例子中,缺少的部分是如何在 unix shell 中使用在 windows (puttygen) 中產生的金鑰對。

在這種特殊情況下,我需要將公鑰放在哪裡才能將其用作 git 中的 ssh 密鑰。

答案1

取決於您需要哪個密鑰...

私鑰 – 用於登入將一個 Unix 系統轉換為另一個 Unix

您必須先使用 PuTTYgen 將金鑰從 PuTTY 格式轉換為 OpenSSH 可以使用的格式。

  • 在 Windows 版本的 PuTTYgen 中,使用轉換 → 導出 OpenSSH 金鑰菜單項目;

  • 在 Linux 版本中,puttygen mykey.ppk -O private-openssh -o mykey.

僅公鑰 – 用於從 Windows 登入Unix

請參閱丹尼爾的回答。

答案2

Puttygen 視窗包含一個文字區域,其中包含 SSH 所需格式的公鑰。

複製它,並將其添加到伺服器上的文件中,~/.ssh/authorized_keys單獨一行。確保檔案和目錄不可被群組和其他人讀取/寫入,即 run chmod go-rwx ~/.ssh ~/.ssh/authorized_keys

然後伺服器將接受您的登錄,並使用私鑰進行身份驗證。

答案3

好吧,我想我沒有說清楚,但我找到了解決方案:

  1. 啟動puttygen
  2. 載入私鑰
  3. 選單轉換|匯出 OpenSSH 金鑰
  4. 儲存在某處,打開,將內容複製到剪貼簿,在 linux 上貼上到檔案:$HOME/.ssh/id_dsa
  5. (可選)複製文字區域「用於貼上到 OpenSSHauthorized_keys 檔案中的公鑰」的內容,在 Linux 上貼上到檔案:$HOME/.ssh/id_dsa.pub

現在您可以在 shell 中使用此 SSH 金鑰登入遠端系統。

附註:若要在 Linux shell 中無縫使用 Windows putty 中的 git 連接到 git,請在 putty 工作階段中設定以下選項:

在此輸入影像描述

(當然,您必須將公鑰放入 ~/.ssh/authorized_keys 中..)

相關內容