0

私の理解では、これssh-keygenは OpenSSH によって提供される多くのコマンドの 1 つです。

を使用して秘密鍵と公開鍵のペアを生成する場合、公開鍵をリモート サーバー ( 内) に配置すると、そのサーバーに ssh できることssh-keygenがわかります。~/.ssh/authorised_keys

ssh-keygenしかし、鍵のペアを生成するには 2 つの異なる方法があるようですが、単独で使用できるという意味でcat、公開鍵を使用すると次のように表示されます。

ssh-rsa XXXX User@ComputerName

私にとってどこUser@ComputerNameが似ているかM@Marks-MBP.default

もう 1 つの方法は、-Cコメント フラグを使用することです (GitHub はこれを推奨しています)。使用されないように思われる場所ではUser@ComputerNameなく、その代わりにあなたのメールアドレス(またはあなたがたまたま使用する「コメント」)。

サーバーに SSH 接続する場合、ログインに使用するユーザー名は-C、公開鍵のコメントに設定されているものであると考えるのは正しいですか?

したがって、まったく使用-Cしない場合は、最後に公開鍵が生成されますM@Marks-MBP.default。次に、ユーザー名はM.

しかし、私が使用する場合-C "bingbop"、SSHへのユーザー名はbingbop.

あれは正しいですか?

-Cまた、そのフラグをオフのままにするのではなく、電子メールアドレスを指定するためにGitHub が使用することを提案する技術的な理由はありますか?

git@github.com:<user>/<repo>.git公開鍵だけではあなたを識別できないレポを複製またはプッシュしようとすると(プロトコルを使用して)、コメントをGitHubの電子メールアドレスに設定する必要があると思います

4

2 に答える 2

0

サーバーに SSH 接続する場合、ログインに使用するユーザー名は、公開鍵の -C コメントに設定されているものであると考えるのは正しいですか?

いいえ。キーのコメント フィールドは、まさにそれです: (オプションの) コメント。慣例により、通常はメール アドレスに設定されますが、user@host指定されていない場合はデフォルトで設定されます。

SSH 経由でログインするときに使用するユーザー名は、そのコメント フィールドとは関係がなく、そこから派生したものでもありません。

また、フラグをオフのままにするのではなく、-C を使用して電子メール アドレスを指定することを GitHub が提案する技術的な理由はありますか?

はい、その理由は、デフォルトではuser@host、公開鍵を渡した相手に有用な情報が提供されることはめったにないからです。一方、メールアドレスはより価値のある情報です。

公開鍵だけではあなたを識別できないということを(git@github.com:/.gitプロトコルを使用して)レポに複製またはプッシュしようとすると、コメントをに設定する必要があると思いますあなたの GitHub メールアドレス。

GitHubは、すべての GitHub ユーザー間で一意であるため、提供されたキーだけであなたを識別できます指定した URI 構文で、 のgit前にあるの@は、SSH に提供されたユーザー名です。そのため、GitHub はgitすべてのユーザーに の一般的なユーザー名を使用し、個々のユーザーは提供するキーによって識別されます。

于 2015-07-09T14:24:48.357 に答える