Подтвердить что ты не робот

Невозможно нажать на битбакет, разрешение запрещено (publickey)

Я пытаюсь подтолкнуть свой проект к моему битбакету, вступая в дело с этим в течение примерно 4 дней, проливая бесчисленные решения проблем/страницы/устранение неполадок/учебники. Im в растерянности и очень расстроен. Я делал это раньше, но на разных компьютерах... так или иначе, это код/​​ответ, который я получаю

~/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 

Я нахожусь на mac, работающем 10.8.4.

Итак, был достигнут небольшой прогресс, изначально не было папки .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.

4b9b3361

Ответ 1

Вы можете установить флаг файла IdentityFile в файле ~/.ssh/config следующим образом:

Host bitbucket.org
  IdentityFile ~/.ssh/id_rsa

При запуске

ssh [email protected]

клиент ssh позволяет выбрать файл, из которого считывается идентификатор (закрытый ключ) для аутентификации RSA или DSA.

Клиент SSH для использования данного приватного ключа (файл идентификации)

Ответ 2

Это может заставить системных администраторов отвратиться в ужасе, но после этой проблемы (Windows) я отказался от SSH и вернулся к HTTPS.

При первом добавлении удаленного репозитория в Git замените ссылку SSH '[email protected]' URL-адресом HTTPS 'https://<username>@bitbucket.org'.

Вы должны вводить пароль каждый раз, но особенно в Windows, где SSH не так широко распространен, как в семействе * nix, я вижу это как незначительное неудобство по сравнению с головными болями SSH.

Ответ 3

В моем случае на новом компьютере Ubuntu 16 мне не хватало файлов в папке ~/.ssh, так что сработало:

  • Перейдите в папку ~/.ssh
  • Запустите ssh-keygen и назовите свой файл i.e. id_rsa
  • Запустить cat ~/.ssh/id_rsa.pub | xclip -sel clip
    Если вы пропустите xclip только apt-get install xclip:)
  • Перейдите к (в url измените USERNAME на свое имя пользователя bitbucket:)) https://bitbucket.org/account/user/USERNAME/ssh-keys/
  • Нажмите Add key и вставьте ключ из буфера обмена

Магия - теперь это работает:)

Ответ 4

Более устойчивым решением является редактирование .bashrc (например, vi ~/.bashrc), а затем добавьте к нему следующую строку (замените имя ключа)

ssh-add ~/.ssh/YOUR_KEY

Это автоматически загрузит ключ при запуске оболочки

Ответ 5

Я столкнулся с такими же проблемами в 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

Что все!

Ответ 6

Возможно, вы используете ssh как исходный url git. Попробуйте удалить начало ssh таким образом

git remote rm origin

Затем добавьте новое начало с URL-адресом HTTPS и повторите попытку.

git remote add origin https://[email protected]/SOMETHING/SOMETHING.git
git push -u origin master

Убедитесь, что вы вставляете свой URL из битбакета в качестве источника.

Ответ 7

В моем случае он решил проблему добавить ключ ssh из каталога

~/.ssh/id_rsa.pub

on bitbucket.org. Я назвал его также id_rsa.pub на веб-сайте.

В начале я добавил еще один ключ, который я создал только для битбакет, и назвал его таким. Первые удаленные действия работали, но через несколько дней запрос был отклонен.

Ответ 8

В Windows ответ @efesaid работал для решения проблем с помощью теста подключения ssh. Кстати, вы можете добавить -v, чтобы узнать, какие клавиши (по имени) пытались и почему соединение терпит неудачу.

Однако при нажатии на битбакет, используя git @bitbucket.org: user/repo.git, кажется, что хост не является точно bitbucket.org, поэтому я все еще получал разрешение на отказ в проблемах. Я решил их (re) называть мой ключ id_rsa (это ключевое имя, которое пыталось выполнить в тесте ssh).

Это работает, если у вас есть один ключ rsa. Для нескольких ключей, возможно, хост в файле конфигурации должен быть

bitbucket.org:username

но я не уверен, что это unde

Ответ 9

Я думаю, что инструкции bitbucket лучше всего. Проверьте, установлен ли ssh и если он не установлен.

[email protected]:~$ 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]] [[email protected]]hostname [command]

[email protected]:~$ ls -a ~/.ssh 
.  ..  google_compute_engine  google_compute_engine.pub  identity  identity.pub  known_hosts

[email protected]:~$ 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 [email protected]
The key randomart image is:
+--[ RSA 2048]----+
|              .  |
|           xx x  |
|          xxxxx  |
|       xxxxxxxxx |
|      .xxxxxxxx  |
|       xxxxx     |
|     xxxxxxxxxxxx|
|    xxxxxxxxxxxxx|
|     xxxxxxxxxxx |
+-----------------+                                                                                                                                  
[email protected]:~$ 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

[email protected]:~$ ssh-agent /bin/bash

, чтобы проверить, запущен ли агент

[email protected]:~$ ps -e | grep [s]sh-agent 
26503 ?        00:00:00 ssh-agent
[email protected]:~$ ssh-add ~/.ssh/id_rsa
Identity added: /home/krasen/.ssh/id_rsa (/home/krasen/.ssh/id_rsa)
[email protected]:~$ 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)
[email protected]:~$ cat ~/.ssh/id_rsa.pub
ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

получить этот ключ и добавить его в качестве ключа в настройках битбакета

Ответ 10

Проверить наличие ключа SSH

ls -al ~/.ssh

Скопируйте SSH-ключ

cat ~/.ssh/id_rsa.pub | pbcopy

Добавьте скопированный SSH-ключ в "Настройки Bitbucket", "Безопасность", "SSH-ключи".

Ответ 11

У меня возникла аналогичная проблема, когда я ранее использовал HTTPS для доступа к репозиторию и мне пришлось переключиться на SSH, установив такой URL-адрес:

git remote set-url origin ssh://[email protected]/...

Ответ 12

Это может быть очевидно, но я потратил на это немало времени.

Проверьте назначение при запуске git remote -v

В моем случае у меня были отлично настроены клавиши ssh, но выход из этой команды был:

origin [email protected]:USERNAME/REPOSITORY.git

(обратите внимание на получить не git)

а не

origin [email protected]:USERNAME/REPOSITORY.git

Опять же, это был очень частный случай, но не забудьте тщательно проверить струны этой системы, если у вас возникли проблемы.

Вы можете исправить это с помощью следующих команд:

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