2014-12-14 3 views
1

Git работал отлично с нажатием на Bitbucket, до недавнего времени там, где не было много изменений, кроме изменения настроек DNS-сервера.Разрешение отклонено (publickey) - Невозможно нажать или потянуть с Git

Ошибка:

Permission denied (publickey).
fatal: Could not read from remote repository.

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

Я использовал кейген, чтобы создать новый ключ, добавьте ключ с Git Bash (добавлен и принял ключ был), а затем вручную добавить ключ к Bitbucket SSH. Тем не менее, он все еще дает ту же ошибку.

Не знаете, что пошло не так, есть ли у кого-то такой же опыт и он может помочь?


Другие биты информации или попыток устранить

  • git remote -v, один толчок, один выдвижной элемент в списке
  • ssh -T [email protected] - ошибка: Отказано в (ОткрытыйКлюч).
  • ssh-add -l - error: Не удалось открыть соединение с вашим агентом аутентификации.
  • ssh -vT [email protected] - ошибка ниже

ssh -Tv [email protected] OpenSSH_6.6.1, OpenSSL 1.0.1i 6 Aug 2014

debug1: Connecting to bitbucket.org [131.103.20.167] port 22. 
debug1: Connection established. 
debug1: identity file /.ssh/id_rsa type -1 
debug1: identity file /.ssh/id_rsa-cert type -1 
debug1: identity file /.ssh/id_dsa type -1 
debug1: identity file /.ssh/id_dsa-cert type -1 
debug1: identity file /.ssh/id_ecdsa type -1 
debug1: identity file /.ssh/id_ecdsa-cert type -1 
debug1: identity file /.ssh/id_ed25519 type -1 
debug1: identity file /.ssh/id_ed25519-cert type -1 
debug1: Enabling compatibility mode for protocol 2.0 
debug1: Local version string SSH-2.0-OpenSSH_6.6.1 
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3 
debug1: match: OpenSSH_5.3 pat OpenSSH_5* compat 0x0c000000 
debug1: SSH2_MSG_KEXINIT sent 
debug1: SSH2_MSG_KEXINIT received 
debug1: kex: server->client aes128-ctr hmac-md5 none 
debug1: kex: client->server aes128-ctr hmac-md5 none 
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<3072<8192) sent 
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP 
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent 
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY 
debug1: Server host key: RSA 97:8c /* rest of numbers */ 
debug1: Host 'bitbucket.org' is known and matches the RSA host key. 
debug1: Found key in /.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: /.ssh/id_rsa 
debug1: Trying private key: /.ssh/id_dsa 
debug1: Trying private key: /.ssh/id_ecdsa 
debug1: Trying private key: /.ssh/id_ed25519 
debug1: No more authentication methods to try. 
Permission denied (publickey). 


- ssh-agent -s, ошибка:

SSH_AUTH_SOCK=/tmp/ssh-2KEE1p8SGXPg/agent.1900; export SSH_AUTH_SOCK; 
SSH_AGENT_PID=2712; export SSH_AGENT_PID; 
echo Agent pid 2712; 
+3

Спасибо за точный подробный вопрос! Получает ли вывод 'ssh-add -L' соответствие записи на битбакете? – michas

+0

Изменение DNS? Какого рода? Решает ли 'host -t github.com' 192.30.252.129? – iltempo

+3

Подождите минуту. Вы используете битбакет или github? Добавление ключа в битбакет и ожидание, что github узнает об этом, будет немного оптимистичным. ;) – michas

ответ

1

Я знаю, что этот ответ может быть не лучшим ответом, но мне удалось заставить его работать со следующими шагами. (Отказ от ответственности: я до сих пор не знаю, что пошло не так)

  1. убийств весь процесс SSH-агента по kill PIDnumber один за другим в Git Bash. Как-то у меня был список, полный запущенных процессов агентов. Я видел этот список PID, когда пытался удалить Git из своей системы.
  2. Удаление Git с компьютера
  3. Удалить все SSH ключи Bitbucket репо - (вручную удалить при просмотре сайта BB)
  4. Переустановка Git и Git Баш, ssh -T [email protected] + вошел ключевую фразу, пользователь Логин и подтвердил
  5. Добавлены ключи существующих rsa_pub (я просто тащил rsa_pub файл возвышенного текста, скопированный ключ и вставить его обратно в Bitbucket в том же репо)
  6. тянуть затем нажмите с помощью утилиты командной строки nodejs игровой
1

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

ssh-agent bash  # start a new agent 
ssh-add    # add your key 
ssh-add -L   # verify that your key is the same as on the server 

ssh [email protected]    # should work now 
git clone [email protected]:xyz # (or something like this) should work, too 
+0

извините его github раньше bcos я отправил неправильную команду. Я отредактировал исправленный вывод, который по-прежнему схож. Когда я запускаю новый агент, добавьте ключ ... та же ошибка не может открыть соединение с агентом аутентификации. – Thinkerer

+0

Когда я набираю выше в Git Bash ... Я ввожу Passphrase и ее принимаю. Но он говорит, что запрос на передачу PTY не удалось на канале 0. вошел в систему как пользователь, но затем говорит, что 'u может использовать git или hg для подключения к bitbucket, доступ к оболочке отключен. соединение с bitbucket.org закрыто. ' – Thinkerer

+0

Это прекрасно. вы не можете открыть интерактивный сеанс оболочки на битбакете. Он позволяет использовать только git (или hg) клиентов. Дело в том, что вы смогли подключиться и ответить на битбакет. – michas

1

Вам необходимо запустить ssh-agent команду, а затем экспортировать переменные, которые отображаются при запуске. Чтобы сделать это, вы можете сделать что-то вроде этого:

eval `/usr/bin/ssh-agent` 

Выхода команды ssh-agent является действительным сценарием оболочки, который при выполнении (аке evaled) установят правильную переменную ENV, необходимые для связи между ssh-agent программой и другой которые его используют.

Прежде чем запускать эту команду, убедитесь, что вы убили существующий процесс ssh-agent.

После этого используйте обычные команды ssh-add, чтобы перечислить и добавить ключи, а затем ваш ssh должен работать нормально.

+0

Имейте в виду, что u означает запуск команд в git bash вправо? Потому что он не работает в nodejs. Когда я убиваю агента, он говорит, что 'ssh_agent_PID не установлен, не может убить агента.' Когда я набираю eval ... full line, он дает другой агент PID из 'ssh-agent'. Возвращаясь к узлу ... я все еще не могу нажать или потянуть! Сожалею! – Thinkerer

+0

@Thinkerer Да, это должно быть выполнено в bash, таком как shell. Я не понимаю, что вы здесь называете «node» или «nodejs». Обеспечивает ли узел собственную оболочку? Если это так, то есть две вещи: 1) Я не знаю, ведет ли nodejs оболочку, как bash 2). Вы не можете запустить эту команду в одной оболочке и иметь ту же работу в другой оболочке. Команда eval устанавливает переменные env, и они зависят от процесса. Чтобы убить агента, запустите процесс с именем ssh-agent с помощью pid. Кстати, почему вы хотите запускать команды git из оболочки узла, а не оболочки git? – brahmana

+0

yes node предоставляет утилиту командной строки, которую я обычно делаю, когда мой git тянет и толкает, и он работает нормально до сих пор. Я новичок в использовании узла, поэтому соединение узла и git bash несколько сбивает с толку. – Thinkerer

0

Это работает для меня:

  1. после генерации нового ключа SSH (SSH-серийник -t РОО)
  2. и добавить его на сайт Bitbucket (кошки ~/.ssh/bitbucket.pub ...)
  3. , если вы все еще не в состоянии соединить то сделать это:

    1. Eval ssh-agent -s
    2. SSH-добавить Bitbucket
    3. снова попробуйте снова
Смежные вопросы