パスワードなしでキーペアを生成し、公開鍵をgithubに追加しました。との接続
user@dev:/var/www/project# ssh -T [email protected]
Hi User! You've successfully authenticated, but GitHub does not provide Shell access.
成功し、キーの名前を変更すると失敗します。しかし、変更をプッシュする場合、ユーザー名/パスワードの組み合わせを尋ねられます。
パスワードなしでプッシュする方法はありますか?
sernameとパスワードを要求している場合、Originリモートはssh URLではなくhttps URLを指しています。
Sshに変更します。
たとえば、Gitのようなgithubプロジェクトにはhttps urlがあります
https://github.com/<Username>/<Project>.git
そしてsshのもの:
[email protected]:<Username>/<Project>.git
できるよ:
git remote set-url Origin [email protected]:<Username>/<Project>.git
uRLを変更します。
さらに、要点については、ユーザー名を省略する必要があるようです
git remote set-url Origin [email protected]:<Project code>
実際にSSH URLを使用しているが、git pushの際にユーザー名とパスワードの入力を求められた場合:
git remote set-url Origin [email protected]:<Username>/<Project>.git
次の方法でトラブルシューティングを試してください。
ssh -vT [email protected]
以下は出力例です。
...
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 [email protected]
を再度実行すると、次のようになります。
...
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にプッシュすることができます:-)
SSHバージョンではなくHTTPSを使用する必要があります。リポジトリからクローンを作成し、SSHバージョンでリンクをコピーします。これは、SSHが使いやすく、アクセスに関するすべての問題を解決するためです。アカウントに入力したSSH(プッシュ、プル、クローンなど)
ここにリンクがあり、sshが必要な理由とその使用方法を説明しています:ステップバイステップ
通常どおり、SSHキーを作成し、公開キーをGithubに貼り付けます。秘密鍵をssh-agentに追加します。 (私はこれがあなたがしたことだと思います)。すべてが正しいことを確認するには、ssh -T [email protected]
を使用します
次のようにリモートポイントを変更することを忘れないでくださいgit remote set-url Origin [email protected]:username/your-repository.git