🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

Q&A

3回答

5569閲覧

秘密鍵から公開鍵を作成

Ryu__ta

総合スコア15

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

0グッド

1クリップ

投稿2021/01/20 02:09

違うPCから秘密鍵ファイルをコピーして、sshフォルダ配下に設置

コマンドプロンプトを開きsshフォルダへ移動

以下のコマンドを叩く

ssh-keygen -y -f *** > ***.pub


一応、pubファイルは作成されるのですが中身が空になってしまいます。
※色々調べてみたのですが、原因分からず...

どなたか原因分かる方おりますでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hidezzz

2021/01/20 02:49 編集

出力リダイレクトを外して「ssh-keygen -y -f *** 」とした場合、どのような出力が出ますか? ちなみに、手元の環境で試したらパスフレーズを聞かれた後に公開鍵が表示されました。
Ryu__ta

2021/01/20 03:12

回答ありがとうございます。 Load key "***": invalid format とでてしまいます。
Ryu__ta

2021/01/20 03:14

一応、typeコマンドで中身を確認すると ---BEGIN OPENSSH PRIVATE KEY--- **************************** **************************** ---END OPENSSH PRIVATE KEY--- とでます
Daregada

2021/01/20 03:15

もしかして、秘密鍵の先頭行に「PuTTY-User-Key-File-2: ssh-rsa」みたいなことが書いてありませんか?
Ryu__ta

2021/01/20 03:24

>Daregada 回答ありがとうございます。 書いてなかったです。
guest

回答3

0

秘密鍵ファイルをコピーして

この「コピー」というのはどのような操作を指しているでしょうか。

どうも見ていると、ファイル形式の食い違いであったり、バージョンが古すぎて対応できない等の原因でないように思えます。

ひょっとして、秘密鍵のテキストをコピペしてファイルを作っているだったりしないでしょうか。
その場合、最終行の改行を付け忘れると invalid format と見做されます。
一度、改行を付け足してみてください。( 最終行以降なら幾つつけても問題ないはずです )

うまく行かないようであれば、元の環境、新しい環境、コピーの方法、ここらへんを再度情報を整理して追記してください。

投稿2021/01/20 07:45

angel_p_57

総合スコア1681

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

鍵ファイルの形式が違うのでフォーマット変換(他の秘密鍵形式からのインポート)をする必要があります。

$ ssh-keygen -i -f (今ある秘密鍵ファイルのファイル名) > (OpenSSH形式の秘密鍵のファイル名)

本当は「-m」オプションを指定して今ある秘密鍵のファイル形式を指定する必要があるのですが、指定しなくても何らかの変換は行われるようなのでとりあえずは上の「-m」無しのやり方で試してみてください。

$ ssh-keygen -i -m (今ある秘密鍵ファイルのファイル形式) -f (今ある秘密鍵ファイルのファイル名) > (OpenSSH形式の秘密鍵のファイル名)

ssh-keygenのオンラインマニュアルから引用すると、

-m key_format

Specify a key format for the -i (import) or -e (export) conversion options. The supported key formats are: “RFC4716” (RFC 4716/SSH2 public or private key), “PKCS8” (PEM PKCS8 public key) or “PEM” (PEM public key). The default conversion format is “RFC4716”.

とあるので、デフォルトは「-m RFC4716」が指定されたことになります。ダメなら「-m PKCS8」、「-m PEM」を試してみてください。

投稿2021/01/20 03:32

編集2021/01/20 03:40
hidezzz

総合スコア1248

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ファイルの指定が間違ってる、ってはなしなんでは

ssh-keygen -y -f ***

って打ってみたらどうなりますか?

投稿2021/01/20 02:39

y_waiwai

総合スコア88038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Ryu__ta

2021/01/20 02:47

回答ありがとうございます! 今確認したところ Load key "***": invalid format とでました。。
y_waiwai

2021/01/20 02:50

フォーマットが違う、とおっしゃってますね 間違ったファイルを指定したようですね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問