web-dev-qa-db-ja.com

ssh-keyを使用してパスワードなしでgithubにプッシュする

パスワードなしでキーペアを生成し、公開鍵をgithubに追加しました。との接続

user@dev:/var/www/project# ssh -T [email protected]
Hi User! You've successfully authenticated, but GitHub does not provide Shell access.

成功し、キーの名前を変更すると失敗します。しかし、変更をプッシュする場合、ユーザー名/パスワードの組み合わせを尋ねられます。

パスワードなしでプッシュする方法はありますか?

187
Sebus

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を変更します。

368
manojlds

さらに、要点については、ユーザー名を省略する必要があるようです

git remote set-url Origin [email protected]:<Project code>
9
Gordon Wells

実際に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_rsaid_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にプッシュすることができます:-)

5
Yuci

SSHバージョンではなくHTTPSを使用する必要があります。リポジトリからクローンを作成し、SSHバージョンでリンクをコピーします。これは、SSHが使いやすく、アクセスに関するすべての問題を解決するためです。アカウントに入力したSSH(プッシュ、プル、クローンなど)

ここにリンクがあり、sshが必要な理由とその使用方法を説明しています:ステップバイステップ

Git Generate SSH Keys

5

通常どおり、SSHキーを作成し、公開キーをGithubに貼り付けます。秘密鍵をssh-agentに追加します。 (私はこれがあなたがしたことだと思います)。すべてが正しいことを確認するには、ssh -T [email protected]を使用します

次のようにリモートポイントを変更することを忘れないでくださいgit remote set-url Origin [email protected]:username/your-repository.git

0
Seenivasan