回答:
ユーザー名とパスワードの入力を求められている場合、オリジンリモートはSSH URLではなくHTTPS URLを指しています。
sshに変更します。
たとえば、GitのようなGitHubプロジェクトにはHTTPS URLがあります。
https://github.com/<Username>/<Project>.git
そしてSSHのもの:
git@github.com:<Username>/<Project>.git
できるよ:
git remote set-url origin git@github.com:<Username>/<Project>.git
URLを変更します。
git remote set-url origin $(git remote show origin | grep "Fetch URL" | sed 's/ *Fetch URL: //' | sed 's/https:\/\/github.com\//git@github.com:/')
実際にSSH URLを使用しているが、git push時にユーザー名とパスワードの入力を求められる場合:
git remote set-url origin git@github.com:<Username>/<Project>.git
次の方法でトラブルシューティングを試す必要があります。
ssh -vT git@github.com
以下に出力例を示します。
...
debug1: Trying private key: /c/Users/Yuci/.ssh/id_rsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_dsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_ecdsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).
私は実際に以前に公開鍵をGitHubにすでに追加しており、ローカルにも秘密鍵を持っています。ただし、私の秘密鍵の名前はとは異なり/c/Users/Yuci/.ssh/github_rsa
ます。
サンプル出力によると、Gitはを試行/c/Users/Yuci/.ssh/id_rsa
していますが、これはありません。したがって、同じディレクトリにコピーgithub_rsa
するだけid_rsa
です。
cp /c/Users/Yuci/.ssh/github_rsa /c/Users/Yuci/.ssh/id_rsa
ssh -vT git@github.com
もう一度実行すると、次のようになります。
...
debug1: Trying private key: /c/Users/Yuci/.ssh/id_rsa
debug1: Authentication succeeded (publickey).
...
Hi <my username>! You've successfully authenticated, but GitHub does not provide shell access.
...
そして今、私はユーザー名とパスワードを求められることなくGitHubにプッシュすることができます:-)
HTTPSではなく、SSHバージョンを使用する必要があります。リポジトリからクローンを作成する場合は、SSHバージョンを使用してリンクをコピーします。SSHは使いやすく、アクセスに関するすべての問題を解決するためです。アカウントに入力するすべてのSSHのアクセスを設定できます(プッシュ、プル、クローンなど)。
SSHが必要な理由とその使用方法が記載されたリンクは次のとおりです。
コマンドラインを使用:
Enter ls -al ~/.ssh
キーを押して、既存のSSHキーが存在するかどうかを確認します。
ターミナルではショーです:ディレクトリが存在しません
次に、新しいSSHキーを生成します
ステップ1。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
ステップ2。
Enter a file in which to save the key (/Users/you/.ssh/id_rsa): <here is file name and enter the key>
ステップ3。
Enter passphrase (empty for no passphrase): [Type a password]
Enter same passphrase again: [Type password again]
https://github...
リモコンで使用していないことを確認してください。また、git@github...
フォーマットに従う必要があります。