328

パスワードなしで SSH キー ペアを生成し、公開キーを GitHub に追加しました。

との接続

user@dev:/var/www/project# ssh -T git@github.com
Hi User! You've successfully authenticated, but GitHub does not provide shell access.

キーの名前を変更すると失敗します。

しかし、変更をプッシュしたい場合でも、ユーザー名とパスワードの組み合わせを求められます。

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

4

8 に答える 8

654

ユーザー名とパスワードの入力を求められている場合、オリジン リモートは 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を変更します。

于 2013-02-08T04:46:33.110 に答える
27

実際に SSH URL を使用しているが、git プッシュ時にユーザー名とパスワードの入力を求められる場合:

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 にプッシュできます :-)

于 2018-01-26T18:15:14.357 に答える
16

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

git remote set-url origin git@gist.github.com:<Project code>
于 2014-10-07T07:05:27.887 に答える
9

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

ここに、SSH が必要な理由とその使用方法を示すリンクがあります。

Git で SSH キーを生成する

于 2016-05-06T15:02:10.803 に答える
-5

コマンドラインを使用する:

入力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]
于 2017-03-03T20:23:18.757 に答える