web-dev-qa-db-ja.com

bitbucketにプッシュできない、アクセス許可が拒否されました(公開キー)

私は自分のプロジェクトをビットバケツにプッシュしようとしていますが、無数の問題解決/ページ/トラブルシューティング/チュートリアルを注いで約4日間これをいじっています。私は途方に暮れ、非常に不満を感じています。私はこれを以前に行いましたが、別のコンピューターで...とにかくここに私が得ているコード/応答があります

~/dev/sample_app git Push -u Origin --all
The authenticity of Host 'bitbucket.org (131.103.20.168)' can't be established.
RSA key fingerprint is 81:7b:2c:f5:6f:18:2b:7c:4b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)? 
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
~/dev/sample_app 

10.8.4を実行しているMacを使用しています。

少し進歩しました。最初は.sshフォルダーがなかったので、最初からその方法で作成しました。known_hostsファイルはなかったので実行しました

ssh -T [email protected]

私はyesを選択し、これによりknown_hostsファイルが作成され、もう一度プッシュしようとすると次のようになりました:

~/dev/sample_app git Push -u Origin --all
Permission denied (publickey).
fatal: Could not read from remote repository.

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

私の.sshフォルダーは700で、中のキーはすべて600です。

52
josephleon

IdentityFileフラグファイルは、次のように〜/ .ssh/configファイルに設定できます。

Host bitbucket.org
  IdentityFile ~/.ssh/id_rsa

走るとき

ssh [email protected]

sshクライアントを使用すると、RSAまたはDSA認証のID(秘密鍵)を読み取るファイルを選択できます。

指定された秘密鍵(IDファイル)を使用するSSHクライアント

38
cyb0k

Git OriginのURLとしてsshを使用している可能性があります。そのようにssh Originを削除してみてください

git remote rm Origin

次に、HTTPS URLで新しいOriginを追加して、もう一度プッシュしてみます。

git remote add Origin https://[email protected]/SOMETHING/SOMETHING.git
git Push -u Origin master

OriginとしてURLをbitbucketから貼り付けてください。

19
Ronny Kibet

システム管理者が恐ろしく反動するかもしれませんが、この問題に苦しんだ後(Windows)、SSHをあきらめてHTTPSに戻りました。

最初にリモートリポジトリをGitに追加するときに、SSH参照「[email protected]... 'とHTTPS URL' https://<username>@bitbucket.org '。

パスワードを毎回入力する必要がありますが、特に* nixファミリーほどSSHが一般的に利用されていないWindowsでは、これはSSHの頭痛に比べてささいな不便さだと思います。

16
AJR

私の場合、Ubuntu 16の新しいマシンでは、~/.sshフォルダーにファイルがありませんでした。

  1. フォルダー~/.sshに移動します
  2. ssh-keygenを実行し、ファイルに名前を付けます。つまり、id_rsa
  3. cat ~/.ssh/id_rsa.pub | xclip -sel clipを実行します
    _xclipだけが_apt-get install xclipを逃した場合:)
  4. (URLでUSERNAMEをbitbucketユーザー名に変更します)に移動します) https://bitbucket.org/account/user/USERNAME/ssh-keys/
  5. Add keyをクリックして、クリップボードからキーを貼り付けます

マジック-今すぐ動作:)

10
pbaranski

より持続可能な解決策は、.bashrc(例:vi ~/.bashrc)その後、次の行を追加します(キー名を置き換えます)

ssh-add ~/.ssh/YOUR_KEY

これにより、シェルの起動時にキーが自動的にロードされます

8
iTech

Linux(Ubuntu)でも同じ問題に直面しました。

gitのセットアップを使用して解決しました。

git config --global user.name "Your Name"
git config --global user.email [email protected]

CatおよびSSHキーを使用して公開キーをbitbucket.orgに印刷します。

$ cat ~/.ssh/id_rsa.pub

Bitbucketを追加してリポジトリをプッシュアップする:

git remote add Origin [email protected]:<username>/your repository name.git
git Push -u Origin --all

それで全部です!

5
Rafiqul

git config --global user.name "My Name"およびgit config --global user.email [email protected]を使用してgitをセットアップした後、Permission Denied(publickey)エラーでまだ問題が発生していました。これを解決するために、最初に新しいsshトークンを生成しました。

ssh-keygen

そして、それをコピーしました

pbcopy < ~/.ssh/YOUR_KEY

その後、bitbucket.comにアクセスして、設定に新しいSSHキーとして追加しました。次に、端末に戻って新しいキーを追加します

ssh-add ~/.ssh/YOUR_KEY.

私が抱えていた大きな問題は、重要なssh-add [key]コマンドを逃したことです。

4
keala

BitBucketでも同様の問題がありました。私の場合、git cloneコマンドからSudoを削除する必要があることがわかった後でのみ修正されました!

Attlassian によると:

sudoを使用するべきではありませんクローン、プッシュ、またはプルの場合、ssh-agentはルートレベルではなくユーザーレベルで実行されるためです。

4
Iman Sedighi

既存のSSHキーを確認する

ls -al ~/.ssh

SSHキーをコピーする

cat ~/.ssh/id_rsa.pub | pbcopy

コピーしたSSHキーを「Bitbucket Settings」、「Security」、「SSH Keys」に追加します。

1
Michael Stokes

これは明らかかもしれませんが、かなりの時間を費やしました。

実行時に宛先を確認するgit remote -v

私の場合、sshキーは完全にセットアップされていましたが、このコマンドの出力は次のとおりでした。

Origin [email protected]:USERNAME/REPOSITORY.git

get not git

ではなく

Origin [email protected]:USERNAME/REPOSITORY.git

繰り返しますが、これは非常に特殊なケースでしたが、問題が発生した場合は、このシステムの文字列を慎重に確認してください。

これは次のコマンドで修正できます。

git remote set-url Origin [email protected]:USERNAME/REPOSITORY.git

0
chase

以前リポジトリにアクセスするためにHTTPSを使用していたような同様の問題が発生し、そのようにURLを設定してSSHに切り替える必要がありました。

git remote set-url Origin ssh://[email protected]/...
0
McEwin

Windowsでは、@ efesaidの回答がssh接続テストの問題を解決するのに役立ちました。ところで、-vを追加して、試行されているキー(名前)と接続が失敗した理由を確認できます。

ただし、git @ bitbucket.org:user/repo.gitを使用してbitbucketにプッシュすると、ホストは正確にはbitbucket.orgではないようであるため、許可が拒否された問題が依然として発生していました。キーをid_rsaに(再)命名することで解決しました(これはsshテストで試行されたキー名です)。

これは、単一のrsaキーがある場合に機能します。複数のキーの場合、おそらく構成ファイルのホストは

bitbucket.org:username

しかし、これが元気かどうかはわかりません

0
Arcanefoam

私はビットバケツの指示が最高だと思います。 sshがインストールされているかどうかを確認し、インストールされていない場合は

krasen@krasen-Lenovo-Y50-70:~$ ssh -v
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-E log_file] [-e escape_char]
           [-F configfile] [-I xxxxx] [-i identity_file]
           [-L [bind_address:]port:Host:hostport] [-l login_name] [-m mac_spec]
           [-O ctl_cmd] [-o option] [-p port]
           [-Q cipher | cipher-auth | mac | kex | key]
           [-R [bind_address:]port:Host:hostport] [-S ctl_path] [-W Host:port]
           [-w local_tun[:remote_tun]] [user@]hostname [command]

krasen@krasen-Lenovo-Y50-70:~$ ls -a ~/.ssh 
.  ..  google_compute_engine  google_compute_engine.pub  identity  identity.pub  known_hosts

krasen@krasen-Lenovo-Y50-70:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/krasen/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/krasen/.ssh/id_rsa.
Your public key has been saved in /home/krasen/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx krasen@krasen-Lenovo-Y50-70
The key's randomart image is:
+--[ RSA 2048]----+
|              .  |
|           xx x  |
|          xxxxx  |
|       xxxxxxxxx |
|      .xxxxxxxx  |
|       xxxxx     |
|     xxxxxxxxxxxx|
|    xxxxxxxxxxxxx|
|     xxxxxxxxxxx |
+-----------------+                                                                                                                                  
krasen@krasen-Lenovo-Y50-70:~$ ls -la ~/.ssh                                                                                                         
total 40
drwx------   2 krasen krasen 4096 Jun 29 14:30 .
drwxr-xr-x 110 krasen krasen 4096 Jun 29 13:00 ..
-rw-------   1 krasen krasen 1675 Mar 18  2015 google_compute_engine
-rw-r--r--   1 krasen krasen  409 Mar 18  2015 google_compute_engine.pub
-rw-------   1 krasen krasen 1679 Jun 29 13:15 identity
-rw-r--r--   1 krasen krasen  409 Jun 29 13:15 identity.pub
-rw-------   1 krasen krasen 1679 Jun 29 14:30 id_rsa
-rw-r--r--   1 krasen krasen  409 Jun 29 14:30 id_rsa.pub
-rw-r--r--   1 krasen krasen 4698 Jun 29 13:16 known_hosts

krasen@krasen-Lenovo-Y50-70:~$ ssh-agent /bin/bash

エージェントが開始されているかどうかを確認するには

krasen@krasen-Lenovo-Y50-70:~$ ps -e | grep [s]sh-agent 
26503 ?        00:00:00 ssh-agent
krasen@krasen-Lenovo-Y50-70:~$ ssh-add ~/.ssh/id_rsa
Identity added: /home/krasen/.ssh/id_rsa (/home/krasen/.ssh/id_rsa)
krasen@krasen-Lenovo-Y50-70:~$ ssh-add -l 
2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx /home/krasen/.ssh/id_rsa (RSA)
krasen@krasen-Lenovo-Y50-70:~$ cat ~/.ssh/id_rsa.pub
ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

このキーを取得し、ビットバケツ設定のキーとして追加します

0
makkasi

端末で正しいユーザーに切り替えたことを確認します。

私の場合、rootユーザーはbitbucket設定パネルでsshキーが追加されたユーザーではありませんでした。 Sudoでgitを実行すると、rootユーザーから実行され、自分のユーザーがキーを追加したユーザーでした。

0

Bitbucketサーバーからプルしようとしたときに同じエラーが発生していました。この回答は私を助けました https://stackoverflow.com/users/2957677/toby-mellor

代わりにSudo git pull Origin branch_name

変更git pull Origin branch_name

それは私の問題を修正しました

0
beatusfk

私の場合、ディレクトリからsshキーを追加することで問題を解決しました

~/.ssh/id_rsa.pub

on bitbucket.org 。ウェブサイトでもid_rsa.pubという名前を付けました。

最初に、私はbitbucket専用に作成した別のキーを追加し、そのような名前を付けました。最初のリモートアクションは機能しましたが、数日後に要求が拒否されました。

0
Alex Cio

私の問題は、権限に関することでした。

プロジェクトディレクトリの所有者はrootでしたが、ubuntuとしてログインしました。 gitコマンドを入力した場合、PERMISSION DENIEDを取得します。 git pull Origin masterなので、Sudo git pull Origin masterを使用しました。

ubuntuのSSHキーを/home/ubuntu/.ssh/id_rsa.pubからBitBucketに登録しました。

ただし、Sudoを使用していました。したがって、使用されたSSHキーは実際には/home/root/.ssh/id_rsa.pubであり、これはBitBucketが持っていたものとは異なりました。

私の場合の解決策

chown -R username_here:username_here project/folder/here

Sudoを付加しなくても動作するようになりました

[〜#〜] or [〜#〜] BitBucket rootのキーを与える

0
Toby Mellor