web-dev-qa-db-ja.com

Githubの許可が拒否されました:ssh add agentにはIDがありません

Githubにアクセスするのはこれが初めてであり、コンソールの使用経験はありません。 Macbookを使用しています(Bashを使用)。 githubにアクセスしようとすると、次のようになります。

git clone [email protected]:dhulihan/league-of-legends-data-scraper.git
Cloning into 'league-of-legends-data-scraper'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Permission denied に関するGithubページの指示に従ってみましたが、ssh -vT [email protected]を使用すると、次のメッセージが表示されます。

OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to github.com [192.30.252.129] port 22.
debug1: Connection established.
debug1: identity file /Users/XXXX/.ssh/id_rsa type -1
debug1: identity file /Users/XXXX/.ssh/id_rsa-cert type -1
debug1: identity file /Users/XXXX/.ssh/id_dsa type -1
debug1: identity file /Users/XXXX/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version libssh-0.6.0
debug1: no match: libssh-0.6.0
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-sha1 none
debug1: kex: client->server aes128-ctr hmac-sha1 none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Server Host key: RSA 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
debug1: Host 'github.com' is known and matches the RSA Host key.
debug1: Found key in /Users/XXXX/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/XXXX/.ssh/id_rsa
debug1: Trying private key: /Users/XXXX/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).

次に、eval "$(ssh-agent -s)"は "Agent pid 2314"を返しますが、ssh-add -lは "エージェントにアイデンティティがありません。"を返します。

そして、それは私が立ち往生しているところです。私はこの問題をグーグルで検索し、SOを検索しようとしました。 sshディレクトリのファイルにアクセスしようとしましたが、何もありません。 Knownusersという名前のフォルダーのみ。

誰かがこの問題で私を助けることができますか?

106
Dark

詳細はこちら answer

要約すると、ssh-add -lThe agent has no identitiesを返すとき、それはssh(〜/ .ssh/id_rsa、〜/ .ssh/id_dsaなどのファイルに格納されている)によって使用されるキーが欠落していることを意味し、認証エージェント(ssh-agent )、またはそれらの権限が正しく設定されていない(たとえば、誰でも書き込み可能)。

キーが欠落している場合(つまり、キーを生成していない場合)、「ssh-keygen」(例、ssh-keygen -t rsa)を使用してキーを生成し、ssh-addを使用してキーを追加します。

キーは存在するが、ssh-agentに認識されていない場合(たとえば、非標準のフォルダーにある場合)、 'ssh-add'(たとえば、ssh-add /path/to/my-ssh-folder/id_rsa)を使用して追加します。

これを参照してください answerssh-addまたはssh-agentに問題がある場合。

140
John Doedoe

これを試して:

ssh-add ~/.ssh/id_rsa

私のために働いた

88
Boltun Oreh

macOS SierraおよびHigh Sierraの2017年の回答:

PS:他のほとんどの答えでは、新しいsshキーを作成する必要がありますが、それを行う必要はありません:)

https://openradar.appspot.com/2734836 で詳細に説明されているように、コマンドssh-add -K <key>

だから、ここでそれが機能するために私が取らなければならなかった4つのステップがあります:

1:ssh-add ~/.ssh/PATH_TO_YOUR_SSH_PRIVATE_KEY (e.g. ~/.ssh/id_rsa)

2:~/.ssh/configに以下を追加

Host * 
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile PATH_TO_YOUR_SSH_PRIVATE_KEY (e.g. ~/.ssh/id_rsa)

3:osxkeychainヘルパーを使用するgitconfigエントリを必ず削除してください:

 https://github.com/gregory/dotfiles/commit/e38000527fb1a82b577f2dcf685aeefd3b78a609#diff-6cb0f77b38346e0fed47293bdc6430c6L48

4:端末を再起動して有効にします。

25
metakungfu

私は同じ問題にしばらく立ち往生しており、最終的に解決しました。

私の問題:プッシュを実行できませんでした。 (git remote -vを使用して)リモートを確認して確認できましたが、git Push Origin masterを実行すると、Permission denied (publickey). fatal: Could not read from remote repository.などが返されました。

どうやって解決したか:

  • ssh-keygen -t rsaを使用してキーを生成しました。鍵ファイルの名前を入力すること(尋ねられた場合)は役に立ちませんでした。
  • 次に、キーを(gitに)追加しますssh-add /Users/federico/.ssh/id_rsa、正常にIdentity added: /Users/myname/.ssh/id_rsa (/Users/myname/.ssh/id_rsa)を返しました
  • githubにSSHキーを追加しましたこのヘルプページを使用
  • Githubの「Permission denied publickey」ヘルプページですべてのコマンドを試してみたところ、(前の手順を実行した後)ssh-add -lコマンドのみが機能/有用と思われ、キーが正常に返されました。 最後のステップ は、GitHubページで公開鍵を確認する場所を示します。そして、このコマンドはすべてのキーをチェックするのに役立ちます:ls -al ~/.ssh

その後、プッシュコマンドが最終的に機能しました!

これが役立つことを願っています!すべてに幸運を。

10
Fed Zee

次のコマンドを実行します。

ssh-keygen -t rsa
ssh-add /Users/*yourUserNameHere*/.ssh/id_rsa** 
pbcopy < ~/.ssh/id_rsa.pub**

Githubアカウントに移動します: https://github.com/settings/profile

1)クリック:SSHおよびGPGキー

2)新しいSSHキーと過去のパス

3)SSHキーを追加

できた!

7
zouhair khallaf

これにより、新しい端末でエージェントIDが異なります。エージェントの秘密鍵を追加する必要があります

$ ssh-add <path to your private key>
5
user9253738

まず、sshディレクトリに移動する必要があります
このタイプの場合、macのターミナルでコマンドを実行するか、windowで使用するもの

cd ~/.ssh

今ではsshにあります
ここで、すべてのプロジェクトに関連するすべてのsshキー/ファイルを見つけることができます。ここで、次のコマンドを入力して、使用可能なsshキーがあるかどうかを表示します

ls

これは利用可能なすべてのsshを表示します。私の場合は2つありました
ここで、sshを追加するにはエージェントを起動する必要があります。このタイプの場合、次のコマンド

eval "$(ssh-agent -s)"

最後になりましたが、コマンドに続いてこのエージェントタイプにsshを追加します。

ssh-add ~/.ssh/your-ssh

取り替える

your-sshを、2番目のステップls commandからリストを取得したsshファイル名に置き換えます

5
Sultan Ali

私が気づいたもう1つの要素は、通常.sshフォルダーがMac OS X/Users /のルートフォルダーに作成されることです。別のフォルダからssh -vT [email protected]を使用しようとすると、正しいキーを追加した場合でもエラーが発生します。

正常に認証するには、現在のフォルダーからキーを再度追加する必要があります(ssh-add 'correct path to id_rsa')(既にGitのプロファイルにキーをアップロードしていると仮定)

1

長い間苦労した後、私はついにWindowsでこの問題を解決することができました。私にとっては、ユーザー環境変数GIT_SSHが

「C:\ Program Files(x86)\ WinScp\PuTTY\plink.exe」

winScpと共にインストールされました。デフォルトのssh.exeを使用するようにポイントを変更しました git-scm "C:\ Program Files\Git\usr\bin\ssh.exe "

0
Santan

これは私のために働いた:
chmod 700 .ssh chmod 600 .ssh/id_rsa chmod 644 .ssh/id_rsa.pub

次に、これを入力します:ssh-add ~/.ssh/id_rsa

0
Nacho Cornejo

BitBucketの手順:

新しいキーを生成したくない場合は、SKIP ssh-keygen

ssh-keygen -t rsa 

公開鍵をクリップボードにコピーします:

clip < ~/.ssh/id_rsa.pub

ビットバケットへのログイン:[プロファイルの表示]-> [設定]-> [SSHキー]に移動します([セキュリティ]タブで)[キーの追加]をクリックし、ボックスにキーを貼り付け、説明的なタイトルを追加します

Git Bashに戻ります。

ssh-add -l

あなたが得る必要があります:

2048 SHA256:5zabdekjjjaalajafjLIa3Gl/k832A /c/Users/username/.ssh/id_rsa (RSA)

今:git pullは動作するはずです

0
ForeverLearner