4

私はGithubが初めてです。SSH キーを生成し、SSH Keysで確認できるようになりました。公開鍵ですか、それとも秘密鍵ですか。

SSH キー ( SSH Keysの下にある) をクライアントに送信しました。彼はそれが公開されているかどうか尋ねましたか?彼は私の秘密鍵を欲しがっています。

プライベート SSH キーは必要ですか? もしそうなら、どうすればそれを取り戻すことができますか?

4

1 に答える 1

5

TL;DR

GitHubアカウントから秘密鍵を取得することはできませんが、公開されたリポジトリに鍵ファイルを明示的に追加すると取得できます。GitHub では、アカウントに関連付けられた公開鍵のフィンガープリントの表示も制限されています。私の知る限り、 GitHub でもアカウントの公開鍵を表示できません。

秘密鍵と公開鍵

ssh-rsaSSH 公開キーは 1 行に格納され、またはなどのキー タイプ フィールドで始まりますecdsa-sha2-nistp256。秘密鍵には、複数の行と、鍵ブロックを識別するヘッダーがあります。例えば:

-----RSA 秘密鍵の開始-----

GitHub は公開鍵のみを受け入れます

とにかく、有効な秘密鍵を実際に GitHub アカウントに追加することはできません。現在、GitHub は、この目的のために RSA および DSA 公開鍵のみを受け入れます。別の種類のキーを追加しようとしたり、何らかの種類の無効な公開キーを追加しようとすると、次のようなエラーが表示されます。

キーが無効です。「ssh-rsa」または「ssh-dss」で始まる必要があります。キーの公開半分をコピーしていることを確認してください

秘密鍵が GitHub アカウントのサーバー側に保存されない

これらすべての結果は、とにかく秘密鍵をサーバー側に保存してはならないという事実は別として、秘密鍵を GitHub アカウントに添付することはできないということです。したがって、GitHub アカウントからキー ペアの秘密の半分を取得する方法はありません。

もちろん、SSH 秘密鍵を GitHub アカウントに追加することはできません、公開されたリポジトリに追加することはできます。この例として、Vagrantプロジェクトは完全な key-pairを公開していますが、これは特殊なケースです。

秘密鍵の公開は、本質的に安全ではありません。その意味を理解していない限り、それをしないでください。

于 2012-07-23T16:49:55.867 に答える