Netbeans не может получить доступ к GitHub с помощью ключа SSH

Мой (новейший) Netbeans (NetBeans IDE 7.3 (Build 201302132200)), кажется, полностью терпит неудачу, когда я пытаюсь получить доступ к своему собственному репозиторию GitHub с помощью SSH. Он без проблем работает с URL-адресами HTTP.

Поскольку я импортировал существующую локальную копию репозитория GitHub (New > PHP Project with existing sources), созданную один раз с помощью TortoiseGit, удаленные настройки были сохранены в метаданных локальной копии (вероятно, в папке .git). Итак, Netbeans предлагает вариант Select Configured Git Repository Location в окне Push to Remote Repository. Но безуспешно в этом.

Пробовал следующее:

  1. Когда я использую URL-адрес SSH ([email protected]:user/reponame.git) и параметр Password с пропуском учетной записи, Netbeans пытается подключиться к GitHub (удаленно) и примерно через 5 секунд выдает ошибку Cannot connect to the remote repository at [email protected]:user/reponame.git.

  2. При использовании URL-адреса SSH с параметром Private/Public Key Netbeans сразу же выдает точно такую ​​​​же ошибку, поэтому я предполагаю, что по какой-то причине он даже не пытается подключиться к GitHub.

Что еще более странно (?), Netbeans не запрашивает пароль закрытого ключа. Я установил его, но намеренно не вводил в Netbeans, чтобы проверить процесс подключения. Я был более чем уверен, что Netbeans попросит меня предоставить этот пароль, так как без него он не сможет использовать закрытый ключ. К моему удивлению, он не запросил его, а вместо этого выдал ошибку о том, что не может подключиться к GitHub. Конечно, это был только тест. После ввода правильного пароля я получаю точно такие же эффекты.

Я скопировал URL-адрес моего репозитория прямо с веб-сайта GitHub без каких-либо изменений. Кажется, я могу использовать только URL-адрес HTTP (https://github.com/user/reponame.git). Это работает и убеждает меня, что все элементы (URL, пользователь, reponame, пароль, наконец, подключение к Интернету) в порядке. Но, похоже, Netbeans полностью не работает с URL-адресом SSH.

Вышеупомянутое происходит всегда, независимо от того, выбираю ли я Select Configured Git Repository Location или Specify Git Repository Location в окне Push to Remote Repository. Независимо от того, что я буду делать, я не могу получить доступ к моему репозиторию через SSH в Netbeans, и использование HTTP — единственный вариант.

Я создал пару закрытый-открытый ключ, используя puttygen.exe с веб-сайта PuTTY. Я сохранил закрытый ключ в каталоге установки Netbeans и добавил открытый ключ на страницу SSH Settings GitHub. Я использовал пошаговое руководство, которое обычно использую с TortoiseGit.

Я не знаю, что еще я мог упустить или я делаю неправильно? Есть идеи?


person trejder    schedule 21.05.2013    source источник
comment
У меня те же проблемы с Netbeans 12 в 2020 году!   -  person DavidHyogo    schedule 14.07.2020


Ответы (2)


Для справки: при создании ключей с помощью PuTTYgen для совместимости рекомендуется экспортировать его как ключ OpenSSH. Этого можно добиться, открыв меню Конверсии > Экспорт ключа OpenSSH.

person Jairo    schedule 03.01.2015

После серии многих тестов я узнал, что Netbeans:

  1. Не работает с существующими локальными копиями удаленных репозиториев GitHub (или любых других git).

  2. Не работает вообще с ключами SSH, сгенерированными puttygen.

Что касается первого, мне пришлось удалить всю папку, клонированную с помощью TortoiseGit, и клонировать тот же репозиторий с помощью инструментов, входящих в комплект Netbeans (Team > Git > Clone). То же самое касается Subversion (смотрите здесь) -- так что общее практическое правило гласит, что когда вы переключаетесь с другого клиента Git или SVN на Netbeans, вы должны сделать полное, чистое клонирование (или извлечение) удаленного репозитория, поскольку попытки повторное использование существующей копии, скорее всего, не удастся.

Во-вторых, следуйте инструкциям, приведенным в этой статье GitHub, и используйте ssh-keygen (либо из вашей локальной установки Git для Windows, в случае Windows или из любого другого источника) вместо puttygen — сгенерированные им SSH-ключи нельзя использовать в Netbeans для настройки входа в GitHub без пароля.

Как я уже писал, ранее я использовал TortoiseGit, который принимает и хорошо работает с ключами puttygen, поэтому для меня не было очевидным, что источник проблемы здесь.

После исправления этих двух проблем (получение чистого клона и генерация правильных ключей) проблемы с ale, выраженные в моем вопросе, исчезли, и Netbeans работает с репозиториями GitHub как шарм.

person trejder    schedule 22.05.2013