2017-06-08 3 views
12

私はリモートのgitリポジトリを利用したいと思っていました。間違ったパスフレーズを3回入力しました。私は新しいsshキーを作成し、新しい公開鍵をリポジトリサーバに登録しました。 しかし、sshエージェントはパスフレーズを要求しません。パスフレーズが3回間違っています:gitはパスフレーズをもう要求しません

許可が拒否されました(公開鍵)。致命的:リモート リポジトリから読み取れませんでした。

正しいアクセス権があり、リポジトリ が存在することを確認してください。

ubuntuではどのようにこの問題を解決できますか?

編集

それが示唆されたように、私は、私は、このgitリポジトリは、(私が所有していない)githubのからクローン化されたことを追加する必要がありますssh-add

[email protected]:~$ cd .ssh/ 
[email protected]:~/.ssh$ ls 
config github_rsa github_rsa.pub id_rsa id_rsa.pub keys.zip known_hosts 
[email protected]:~/.ssh$ ssh-add 
Enter passphrase for /home/sadik/.ssh/id_rsa: 
Identity added: /home/sadik/.ssh/id_rsa (/home/sadik/.ssh/id_rsa) 
[email protected]:~/.ssh$ 
[email protected]:~/.ssh$ cd 
[email protected]:~$ cd some/git-repo/ 
[email protected]:~/some/git-repo/$ git push -u bitbucket master 
Permission denied (publickey). 
fatal: Could not read from remote repository. 

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

を試してみました。私はbitbucket上の私の私的なリポジトリにそれをプッシュしたい。 これが許可の問題につながるかどうかは分かりませんが、私の最初の問題は、sshがパスフレーズを要求しないことです。再起動後もログアウトしても

編集

Jakujeは親切に私は、クライアントのログを取得するには、コマンドGIT_SSH_COMMAND="ssh -vvv" git push -u bitbucket masterを入力し示唆したように。これは、出力の最後である:それはpubkeyでid_dsaを検索

debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password 
debug3: authmethod_lookup publickey 
debug3: remaining preferred: keyboard-interactive,password 
debug3: authmethod_is_enabled publickey 
debug1: Next authentication method: publickey 
debug1: Offering RSA public key: /home/sadik/.ssh/id_rsa 
debug3: send_pubkey_test 
debug3: send packet: type 50 
debug2: we sent a publickey packet, wait for reply 
debug3: receive packet: type 51 
debug1: Authentications that can continue: publickey 
debug1: Trying private key: /home/sadik/.ssh/id_dsa 
debug3: no such identity: /home/sadik/.ssh/id_dsa: No such file or directory 
debug1: Trying private key: /home/sadik/.ssh/id_ecdsa 
debug3: no such identity: /home/sadik/.ssh/id_ecdsa: No such file or directory 
debug1: Trying private key: /home/sadik/.ssh/id_ed25519 
debug3: no such identity: /home/sadik/.ssh/id_ed25519: No such file or directory 
debug2: we did not send a packet, disable method 
debug1: No more authentication methods to try. 
Permission denied (publickey). 
fatal: Could not read from remote repository. 

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

何らかの理由で、私はid_dsaid_rsaをコピーして、もう一度それを試してみました。 パスフレーズの入力を求められます。しかし、...間違ったパスフレーズを入力すると、私に再度尋ねられます。正しいものを入力すると、許可が拒否されたと表示されます。

$ git push -u bitbucket master 
Enter passphrase for key '/home/sadik/.ssh/id_dsa': 
Enter passphrase for key '/home/sadik/.ssh/id_dsa': 
Enter passphrase for key '/home/sadik/.ssh/id_dsa': 
Permission denied (publickey). 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 
  1. は、権限を持つ何が問題なのですか?
  2. id_rsaの代わりにid_dsaを探しているのはなぜですか?
+0

あなたの鍵(公開鍵と秘密鍵)は '〜/ .ssh'ディレクトリにありますか? 'chmod 700〜/ .ssh'でしたか? –

+0

@ Jonathan.Brinkはい、はい。私はパスフレーズを忘れて、何度も間違っていると思うまでうまくいった。そこで私は新しいものを作りました。唯一の問題は、パスフレーズの入力を要求しないことです。それは私が前に入力した間違ったものを取るだけです – Sadik

+0

これは数行上のrsaを使用しており、拒否されています。本当にあなたがbitbucketに設定した鍵であることを確認し、ssh-agentを再起動して、やり直してください。 – Jakuje

答えて

5

物事はそれがすべてやり直す価値があるかもしれないことを十分に複雑に見える:

  1. 保存しておきたいキーが存在する場合(あなたが必要としないの〜/ .ssh内のすべてのキーを削除します今は別のディレクトリに移動することを検討してください)。
  2. 〜/ .ssh/configが存在する場合は、疑わしい行がないことを確認してください。
  3. ssh-agentを使用している場合は、ssh-add -Dを使用してすべてのキーを削除します。 ssh-add -lを使用しているキーがないことを確認してください。出力が表示された場合は、this bugに苦しんでいます。ログアウトしてログインし、ssh-add -lが出力を生成しないことを確認します。
  4. ls -al ~/.sshを実行し、そこにキーがないことを確認します。
  5. ssh-keygenを使用して新しいキーを作成します。出力ファイルがデフォルトを使用するように要求されたら、enterキーを押してから、パスフレーズを2回入力します。
  6. を実行し、id_rsaid_rsa.pubが存在することを確認してください。
  7. Bitbucketから既存のキーを削除します。
  8. 〜/ .ssh/id_rsa.pubの内容をBitbucketに追加してください。
  9. ssh -T [email protected]を使用して接続をテストします。失敗した場合は、出力をssh -vvv [email protected]としてください。
  10. gitコマンドが機能することを確認してください。

なぜそれがid_dsa代わりのid_rsaを探していますか?

SSHは、動作するものが見つかるまでいくつかのキーを試行します。それはid_rsaを試しましたが、鍵は拒否されたので、id_dsaを試しました。 のssh-追加を言及するため@Leon

クレジット。

+0

私は 'ssh-agent'(' ssh-add'のみ)について言及しませんでした。いずれにせよ、あなたの答えはもっと精巧で助けになり、私は私を取り除くつもりです。 – Leon

+0

@イオン:ありがとう!あなたの答えを削除しないでください、それはあなたの個人的な経験を記録することは良いことです。私はssh-agentとssh-addの関係について私の答えを更新しました。 – tom

+0

ありがとうございます。まだ何が悪くなったのか分かりませんが、ときどき始めるのは良い考えです。 – Sadik

4

私はパスフレーズを忘れて、何度も間違っていると思います。そこで私は新しいものを作りました。

私はあなたが働いた鍵を持っていたので、あなたは新しいものを作成しました。なぜそれが機能しないのだろうと思います。

公開鍵をサーバーのauthorized_keysにコピーする必要があります。

+0

これは私が '' ...を書き、リポジトリサーバに新しい公開鍵を登録したときの意味です。私はコマンドラインがパスフレーズを要求しない理由と、以前の試行に基づいてアクセス権がないと仮定しているのだろうかと思います。 – Sadik

+1

何も想定していません。あなたがそれを正しく設定するなら、それはうまくいくはずです。デバッグログのfrpmサーバーとクライアントを送信します。 – Jakuje

+0

多くのことは間違いありません。サーバーはbitbucket.orgにあります。私はそこにログが表示されません。新しい鍵ペアを作成し、その鍵をビットバケットに貼り付けました。それで全部です。 – Sadik

関連する問題