86

私は自分のプロジェクトを自分のビットバケットにプッシュしようとしています。数え切れないほどの問題解決/ページ/トラブルシューティング/チュートリアルを注いで約 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 git@bitbucket.org

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 です。

4

25 に答える 25

65

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

Host bitbucket.org
  IdentityFile ~/.ssh/id_rsa

走るとき

ssh git@bitbucket.org

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

与えられた秘密鍵を使用する SSH クライアント (ID ファイル)

于 2014-05-19T07:15:07.350 に答える
21

私の場合、新しいUbuntu 16マシンでは、~/.sshフォルダーにファイルが見つからなかったので、何が機能しましたか:

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

魔法 - それは今動作します:)

于 2016-11-07T13:36:11.577 に答える
12

より持続可能な解決策は、編集.bashrc(例vi ~/.bashrc) してから、次の行を追加することです (キー名を置き換えます)。

ssh-add ~/.ssh/YOUR_KEY

これにより、シェルの起動時にキーが自動的に読み込まれます

于 2014-05-15T08:13:05.857 に答える
10

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

アトラシアンによると:

ssh-agent はルート レベルではなくユーザー レベルで実行されるため、クローン作成、プッシュ、またはプルの際にsudo を使用しないでください。

于 2018-03-22T21:40:24.573 に答える
9

git config --global user.name "My Name"と でgit をセットアップした後git config --global user.email myemail@x.comも、まだ Permission Denied, (publickey) エラーで問題が発生していました。これを解決するために、最初に新しい ssh トークンを生成しました

ssh-keygen

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

pbcopy < ~/.ssh/YOUR_KEY

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

ssh-add ~/.ssh/YOUR_KEY.

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

于 2018-02-13T19:12:21.173 に答える
5

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

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

git config --global user.name "Your Name"
git config --global user.email your.email@example.com

cat と SSH キーを使用して公開キーを bitbucket.org に出力します。

$ cat ~/.ssh/id_rsa.pub

Bitbucket の追加とリポジトリのプッシュアップ:

git remote add origin git@bitbucket.org:<username>/your repository name.git
git push -u origin --all

それで全部です!

于 2016-03-07T18:49:42.557 に答える
1

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

~/.ssh/id_rsa.pub

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

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

于 2015-10-17T20:42:30.063 に答える
1

既存の SSH キーを確認する

ls -al ~/.ssh

SSH キーをコピーする

cat ~/.ssh/id_rsa.pub | pbcopy

コピーした SSH キーを「Bitbucket 設定」、「セキュリティ」、「SSH キー」に追加します。

于 2016-09-24T23:39:24.390 に答える
0

bitbucket の手順が最適だと思います。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

このキーを取得し、bitbucket 設定でキーとして追加します

于 2016-06-29T11:57:33.703 に答える
0

Windows では、ssh 接続テストの問題を解決するために @efesaid の回答が機能しました。ちなみに、 -v を追加すると、どのキーが (名前で) 試行され、接続が失敗したかを確認できます。

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

これは、RSA キーが 1 つしかない場合に機能します。複数のキーの場合、おそらく構成ファイル内のホストは

bitbucket.org:username

しかし、これが未解決であるかどうかはわかりません

于 2016-01-12T12:35:51.647 に答える
0

端末で正しいユーザーに切り替えたことを確認してください。

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

于 2018-02-16T15:22:32.933 に答える