web-dev-qa-db-ja.com

Gitは秘密鍵を要求しますか?

私はUbuntuを使用しており、Gitを共同で使用する方法を学んでいます。

次のコマンドを使用して、ローカルのUbuntuデスクトップに公開キーと秘密キーのペアを作成しました。

ssh-keygen -b 2048

次に、次の方法で公開キーにアクセスしました。

cat /home/user/.ssh/id_rsa.pub

オンラインで見つけた指示に従って、GitHubにリポジトリを作成し、[設定]に移動して公開キーを追加しました。

その後、2つのことをしたいと思いました。

1)GitHubで認証がうまく機能していることを確認します。次のように入力してこれを行いました。

ssh -T [email protected]

次の出力が表示され、「はい」と回答しました

# The authenticity of Host 'github.com (xxxx)' can't be established.
# RSA key fingerprint is xxxxx.
# Are you sure you want to continue connecting (yes/no)? Yes

次に、ポップウィンドウが表示されます。

An application wants to access the private key "user@ubuntu" but it is locked. 
It then asks for a password.

2)新しく作成したリモートリポジトリにGitプッシュを実行します。

# First, I connect my local repository to my remote GitHub one (this works)
$ git remote add Origin [email protected]:username/repository_name.git

# Next, I try and Push my local commits to the repository_name:
$ git Push Origin master

その後、1)と同じポップアップウィンドウが表示され、秘密キーとパスワードへのアクセスを求められます。

私の質問は:

  • これは正常ですか?私は公開鍵/秘密鍵と迅速な暗号化の概念に非常に慣れていませんが、秘密鍵を決して共有すべきではないと考えましたか?では、なぜGitはそれを求めているのでしょうか?

  • 提供する必要がある場合、GitはGitパスワードまたはキーパスワード(公開キーまたは秘密キーを作成するときに設定したパスワード)を要求します

ありがとう

1
m93

これは正常ですか?私は公開鍵/秘密鍵と迅速な暗号化の概念に非常に慣れていませんが、秘密鍵を決して共有すべきではないと考えましたか?では、なぜGitはそれを求めているのでしょうか?

秘密鍵は決して​​共有しないでください。ただし、これらのアプリケーションに必要なのは、秘密キーをローカルでロック解除することであり、別のコンピューターに送信することではありません。

提供する必要がある場合、GitはGitパスワードまたはキーパスワード(公開キーまたは秘密キーを作成するときに設定したパスワード)を要求します

Gitパスワードはありません。おそらくGitHubパスワードを意味します。

GitHubアカウントのユーザー名とパスワードを使用してログインできます。ただし、公開鍵認証を使用する方が簡単で優れています。キーペアを作成したときに、パスワードを選択しました。これは入力する必要があるパスワードです。 SSHエージェントが自動的に保存するため、おそらくセッションごとに1回だけ行う必要があります。同じセッション(コンピューターにログインしてからログアウトするまでの時間)で繰り返しプロンプトが表示される場合は、SSHエージェントにキーペアを追加する必要があります。

ssh-add ~/.ssh/id_rsa
1
UTF-8