ステップ1: SSHキーの生成
1.コマンドラインからssh-keygenと入力します。(コマンドウィンドウでエラーが発生した場合は、C:\Program Files\Git\usr\binがパスに含まれているかどうかを確認してください)このコマンドは、キーを保存するファイルの入力を求めます。
Enter キーを押して、デフォルトのキーとパス /c/Users//.ssh/id_rsa を受け入れます。
プロンプトが表示されたらパスフレーズを入力し、再入力します。
このコマンドは、公開キーと秘密キーを使用してデフォルトの ID を作成します。
2.tortoise-gitの設定
以前に生成した ssh キー (id_rsa) をロードします。ファイルを選択するように求められます。(ssh キーのデフォルト パスは C:\Users\.ssh)
ロード中にパスフレーズが求められます。先ほど指定したパスフレーズを入力してください。この手順の後、PuTTY は証明書をロードします。
証明書が読み込まれたら、「秘密キーを保存」ボタンをクリックします。ファイルを保存するフォルダーを選択するように求められます。SSH キー フォルダー (C:\Users\.ssh) と同じフォルダーに保存することをお勧めします。ファイル名も指定します。
次に、生成されたキーファイルを使用してTortoiseGitを設定する必要があります。リポジトリフォルダーを右クリックし、TortoiseGit>設定を選択します。
設定画面でGit > リモートを選択します
リモート画面で origin を選択すると、URL やその他のフィールドに入力されます。
Putty Key フィールドの省略記号をクリックし、puttygen で生成された秘密キー ファイルを選択します。
秘密鍵のファイル形式は
----RSA 秘密鍵の開始------
xxxxxxxyyxyyxyxyxy
エラーは
秘密鍵を読み込めませんでした(ファイルを開けません)
ファイルには読み取り/書き込み権限があります。この秘密鍵とは別にパスフレーズがあり、これがエラーの原因であると思われます。
答え1
私の理解が正しければ、puttygen
キー ペアを作成するために を使用したのではなく、ssh-keygen
パスフレーズを使用してキー ペアを生成し、その秘密キーを Putty にロードして として保存したところ、Putty.ppk
エラーが発生しましたCouldn't load Private Key (cannot open file)
。
作成した秘密鍵(id_rsa
)はどのような形式でしたか?
テキスト ファイルで開くと、最初は次のようになります。
-----BEGIN RSA PRIVATE KEY-----
または次のようになります:
ssh-rsa AWEdxRASFLMAF......
これはおそらく、 として保存するために秘密キーではなく公開キーをロードしたことによる問題のようです.ppk
。 表示されているスクリーンショットには と の 2 つのファイルがあります id_rsa
がid_rsa
、そのうちの 1 つは秘密キー ファイルで、もう 1 つは公開キーです。 ファイル拡張子が表示されていない場合は、公開キーを選択した可能性があります。上記のスクリーンショットid_rsa
で のタイムスタンプを持つファイルを選択して、キーを再インポートしてみてください05-03-2018 12:36
。
そのファイルの最初の行が
-----BEGIN RSA PRIVATE KEY-----
する前に。
答え2
答え3
私も同じメッセージを受け取りましたが、問題は putty のバージョンが 2 つあることでした。私は git 拡張機能を使用しており、これをインストールすることで putty を含めることができます (これは putty の 32 ビット バージョンで、git 拡張機能プログラム ファイル ディレクトリにあります)。また、自分で putty をインストールしました。
64 ビットの Putty インストールでキーを生成し、そのキーを 32 ビット バージョンで使用しようとしていました。Git 拡張オプションで Putty パスを変更することで、この問題を解決しました。
答え4
puttygen の 1 つのバージョンでは、まったく同じエラー メッセージ (「予期しないファイルの終わり」) が表示されました。最新バージョン (0.76) では、puttygen がキーをインポートしようとして無期限に停止したため、プロセスを強制終了する必要がありました。
役に立つ回答が見つからず、私は C++ 開発者なので、ソース コードが利用可能であるため、puttygen をデバッグすることにしました (0.76 を使用)。
私にとっての問題は、どういうわけか私の秘密鍵の最後に余分なスペースがありました、 そしてputtygenはそれを処理できません!
つまり、私の秘密鍵ファイルの最後の行が
「-----END RSA PRIVATE KEY-----
」
それは
「-----END RSA PRIVATE KEY-----
」
-----END
Puttygen は、「 」で始まり「 」で終わる行が見つかるまでファイルからさらに重要な情報をスキャンし続けるようにプログラムされておりPRIVATE KEY-----
、EOF (ファイルの終わり) をまったく適切に処理しません。
これが誰かの役に立つことを願います。この問題は私を困惑させました!