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

Разрешено (publicickey) Ошибка при использовании git в Windows 7

Когда я хочу нажать на github с помощью этой команды

git push origin master

Я получил это

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

Итак, что не так?

4b9b3361

Ответ 1

EUREKA!

По-видимому, вы можете использовать plink в качестве основного ssh-клиента и просто загружать свои ключи в pageant (если вы похожи на меня, вы уже это сделали):

Вы можете сделать это, установив переменную GIT_SSH env в путь plink.exe следующим образом:

установить GIT_SSH = C:\Program Files\PuTTY\plink.exe

или вы можете использовать plink из TortoiseGit:

установить GIT_SSH = c:\Program Files\TortoiseGit\bin\TortoisePLink.exe

Кредит: исходное решение, взятое из этого сообщения в блоге

Ответ 2

Мне удалось решить эту проблему следующим образом:

Когда вы выполните:

ssh-keygen -t rsa

он предлагает вам (необязательно) ввести имя файла для сохранения сгенерированных ключей. Указание имени файла теряется весь день! На следующий день я разрешил использовать значение по умолчанию имя файла и проблема (-и) исчезли! Представить!!

Платформа была Win7 и msysgit.

Ответ 3

Вот пошаговое руководство, которое я использовал, чтобы заставить это работать.

Платформа: Windows 7

Установите msysgit из http://msysgit.github.io/

Во время установки принимайте все параметры по умолчанию, кроме случаев, когда появляется опция "Выбрать компоненты". Когда это появится, выберите "Git Bash Здесь". Хотя это необязательно, оно добавляет приятное контекстное меню при работе в проводнике Windows, которое, как мне показалось, очень полезно.

enter image description here

После установки msysgit Git Bash также будет установлен. Откройте Git Bash одним из двух способов:

  • Нажмите кнопку "Пуск" Windows и начните вводить Git Bash
  • Или щелкните правой кнопкой мыши где-нибудь (например, на рабочем столе) и выберите Git Bash здесь. Эта опция доступна только в том случае, если установлено Git Bash Здесь контекстное меню.

В окне командной строки Git Bash введите следующее:

$ ssh-keygen -t rsa

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

enter image description here

Откройте файл открытого ключа в Блокноте. Файл должен находиться здесь:

C:\Users\{username}\.ssh\id_rsa.pub

Скопируйте весь контент в файл в буфер обмена, затем перейдите на страницу настроек GitHub SSH:

https://github.com/settings/ssh

Выберите "Добавить ключ SSH", введите полезный "Заголовок" и вставьте содержимое в текстовое поле "Ключ".

Чтобы упростить свою жизнь, вы можете использовать агента SSH для сохранения вашей фразы, чтобы вам не нужно было ее помнить. Чтобы сделать это, введите это в Git Bash:

$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/id_rsa

Вам будет предложено ввести вашу парольную фразу. Если все будет успешным, ваша личность будет добавлена. Примечание: эта кодовая фраза будет забыта, как только вы закроете оболочку. Я не уверен, как сделать это упорством на всех сеансах, но, может быть, кто-то может помочь?

Чтобы проверить, что все работает, введите это в Git Bash:

$ ssh -T [email protected]

Вы должны увидеть "успех".

Источники:

https://help.github.com/articles/generating-ssh-keys/

https://help.github.com/articles/working-with-ssh-key-passphrases/

explanation on why eval `ssh-agent -s` should be used instead of just ssh-agent -s

fooobar.com/questions/4891/...

Ответ 4

Создали ли вы SSH-ключ для себя и добавили его в свою учетную запись Github? У них есть руководство для этого здесь.

Ответ 5

Использование Windows 8 для настройки ваших ssh и Github

  • Если в нем указано "Permission denied (publickey)", вам нужно будет ввести ключевую фразу для вашего ключа. Не поддавайтесь соблазну просто нажать кнопку ввода... это то, что сработало для меня... мне потребовалось пять часов, чтобы понять, что нажатие на ввод заставит OpenSSH почувствовать, что ваш ключ слишком популярен, поэтому он отказывает вам идти в следующий шаг.

  • Если он говорит: "Невозможно установить подлинность хоста github.com(203.232.175.90)". Затем вам нужно будет пройти процесс, показанный здесь: [Google] (https://help.github.com/articles/error-permission-denied-publickey.)

Перейдите к части, которая гласит: "Убедитесь, что открытый ключ подключен к вашей учетной записи GitHub". Вы хотите начать с части, которая говорит об учетной записи. (Предполагаю, что у вас уже есть учетная запись.

Кроме того, вы хотите быть в C:\RailsInstaller\Git.ssh, и когда я сделал "dir", я заметил, что у меня было '', '..', 'known_hosts'. Я должен был получить новый ключ, выполнив следующее (я нашел это на сайте Github):

"ssh-keygen -t rsa -C" [email protected] "   # Создает новый ключ ssh, используя предоставленное электронное письмо как ярлык    # Создание пары ключей public/private rsa. < # Введите файл для сохранения ключа (/c/Users/you/.ssh/id_rsa): [Нажмите enter]"

И обратите внимание на файл, в котором будет сохранен ключ. Не просто нажмите enter.. мой показал "(//.ssh/id_rsa)" Мне пришлось набирать "/.ssh/id_rsa", чтобы убедиться, что он находится в правильном каталоге.

И вы должны иметь возможность вводить ssh в командной строке. Если вы не можете этого сделать, вам придется добавить его на свой путь.

Ответ 6

Я решил аналогичную проблему, добавив Переменная System Environment. Ключ был в том, что я указываю на git.exe внутри папки cmd

имя: GIT
Значение: C:\Program Files (x86)\Git\cmd\git.exe

Ответ 8

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

В Windows 7 щелкните правой кнопкой мыши "Мой компьютер" и перейдите к свойствам. Нажмите "Дополнительные свойства" и нажмите кнопку "Переменные среды". Добавьте переменную пользовательской среды

Name: HOME 
Value: %USERPROFILE%

Ответ 9

Проблема может быть связана с порядком, в котором ssh.exe находится в переменной окружения PATH.

В моем случае был файл ssh.exe как в C:\Program Files (x86)\ git, так и в моем каталоге C:\cwgwin. Когда я был в моем Git Bash, все работало нормально (он использовал ssh в каталоге Git), но когда я был в моей командной строке, он использовал ssh в моем каталоге cygwin.

Когда я пытался получить доступ к github, он не смог найти папку .ssh с моим личным ключом, потому что ключ не был присоединен к ssh, который использовала командная строка (то есть C:\cygwin), и именно поэтому Я получал ошибку отказа от разрешения.

То, что я сделал, было переименовать (или удалить) git.exe и ssh.exe в моем каталоге C:\cygwin и убедиться, что C:\Program Files (x86)\git появляется перед C:\cwgwin в порядке PATH.

Ответ 10

Вот решение очень специфической проблемы, которая имеет ту же подпись ошибки. Это была ошибка, которую я сделал, и это очень легко сделать. В принципе, вместо этого

  git remote add origin [email protected]:myusername/myrepo.git

Я сделал это (обратите внимание на опечатку)

  git remote add origin [email protected]:myusername/myrepo.git

http://www.celticwolf.com/blog/2011/02/08/git-permission-denied-publickey/

Ответ 11

Вот вывод по умолчанию для Windows 7.

c:\test\app>ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (//.ssh/id_rsa):
Could not create directory '//.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
open //.ssh/id_rsa failed: No such host or network path.
Saving the key failed: //.ssh/id_rsa.

Вместо командной строки git должно использоваться как http://help.github.com/win-set-up-git/??

Ответ 12

У меня была аналогичная проблема:

Я создал "redssh" и "redssh.pub" в некотором каталоге, используя git bash. Разрешение отклонено...

однако, "id_rsa.pub" и "id_rsa" появились в: С:/Users/myName/.ssh/

копировать содержимое id_rsa.pub в github

Ответ 13

Я полный новичок с git и следил за инструкцией по установке на веб-сайте и получал отказ в разрешении (публикация).

Я выполнил инструкции по созданию пар ключей RSA (ssh-keygen -t rsa). Это работало нормально, но я все еще получал ошибку. Я не понял, что вам нужно фактически перейти на веб-сайт git (github.com), зарегистрировать и ввести этот ключ на своем веб-сайте.

Я надеюсь, что это поможет другому бедному новичку.

Ура!

Ответ 14

У меня был подобный Проб в выигрыше 8.

Очень простая ошибка. Я уже создал открытый ключ в учетной записи hb wwww wwwww wwwwwww wwwww wwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwmwwb.

Решение:

  • удалить ssh папку и ключ из учетной записи github и сделать это снова процесс

1) ssh-keygen -t rsa -C "your mail address"

2) ssh -T [email protected]

Ответ 15

Я обнаружил, что моя проблема заключалась в том, что любая версия ssh-keygen, которую я использовал, создавала файлы с неправильными именами файлов... Файлы, созданные первоначально, где% USER_HOME%.ssh\ida_rsa и ida_rsa.pub, но git ожидали, что они будут id_rsa и id_rsa.pub.

Я решил проблему, выполнив git bash, THEN запустив ssh-keygen