秘密鍵から公開SSH鍵を作成しますか?


215

SSHキーを持っていると仮定しますが、公開キー部分は削除しました。秘密鍵の部分があります。公開鍵部分を再生成する方法はありますか?

回答:


253

ssh-keygenに-yオプションを使用します。

ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub

「man ssh-keygen」から

 -y      This option will read a private OpenSSH format file and print an
         OpenSSH public key to stdout.

-fオプションで秘密鍵を指定すると、rsaではなくdsaになります。秘密鍵の名前には、おそらく使用したものが含まれています。新しく生成された公開鍵は、以前に生成したものと同じでなければなりません。


7
なぜ「-t dsa」なのですか?OPの鍵はrsaですか?-tを取り除き、代わりに-fを使用します。
インナ2009

1
良い点、それに応じて更新
カイルブラント

ええ、もともとはRSAでした。
ローリー

1
Mac OSX 10.9.3 Mavericksでは、コマンドの実行後に「ロードに失敗しました」と表示されます。これをどうやって解決しますか?
ハイパーフォーカス14年

:私はあなたがプライベートキーがパスワードで保護された場合には-nパラメータで、さらにこの一歩を取るかもしれないと思うssh-keygen -f ~/.ssh/id_rsa -y -N "$PASSWORD" > ~/.ssh/id_rsa.pub

6

ソリューションは、Windowsを使用しているユーザー専用です

使用ツール:

  • Puttygen(PuTTY Key Generator)
  • WinSCP

実行する手順:

  1. PuTTY Key Generatorを開きます。
  2. 秘密鍵(*.ppkファイル)をロードします。
  3. PuTTY Key Generatorの「OpenSSH authorized_keysファイルに貼り付けるための公開キー」セクションから公開キーデータをコピーし、使用する場合は(authorized_keys)ファイル(メモ帳を使用)にキーデータを貼り付けます。

フォーカスするPuttygenの部分を示すスナップショット:

フォーカスするPuttygenの部分を示すスナップショット



Puttygenは、OpenSSH(本当にOpenSSL-legacy)およびSSHCOM形式の秘密鍵を「インポート」することもできます。また、Windowsから始まりましたが、Unixにも移植されており、Unixバージョンputtygenはコマンドライン(GUI ではない)プログラムです。例を参照してくださいlinux.die.net/man/1/puttygen
dave_thompson_085
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.