Невозможно использовать Team -> Git -> Мастер клонирования в Netbeans 12 для подключения к репозиторию github с помощью SSH

Я использую Apache Netbeans 12 в Windows, и мне очень трудно подключиться к своим репозиториям github с помощью SSH-соединения. У меня сложилось сильное впечатление, что это было проблемой для пользователей Netbeans в течение долгого времени. Что я пробовал до сих пор:

  • Я установил openSSH в Cygwin, который использую для запуска терминала в Netbeans. Это позволило мне использовать ssh-agent.
  • Я попытался запустить ssh-agent и добавить соответствующий закрытый ключ, который соответствует открытому ключу в моем репозитории Git.
  • У меня нет проблем с клонированием этого репо с помощью git bash и автономной оболочки Cygwin (теперь, когда у меня запущен ssh-agent), но мастер Team->Git->Glone в Netbeans дает мне эту ошибку подключения:

Dev строит, но это так, сколько я себя помню. Я не могу использовать NetBeans для выполнения каких-либо операций Git, требующих аутентификации SSH: отправка на GitHub, извлечение данных из частного репозитория и т. Д. Те же операции с использованием командной строки Git работают нормально, но в NetBeans мне предлагается ввести имя пользователя и пароль, или для закрытого ключа с парольной фразой. Из командной строки в этом нет необходимости, поскольку я использую ssh-agent для разблокировки моего закрытого ключа без необходимости каждый раз вводить кодовую фразу; очевидно, что библиотека Git, используемая NB, не может взаимодействовать с ssh-agent, поэтому она не работает.

Это тот ответ (помните о Netbeans 7, я все еще борюсь с версией 12), который меня расстраивает:

"Похоже, что автоматическое использование ssh-agent теперь работает; возможно, был нарушен только для репозиториев, которые я пытался извлекать / извлекать в NetBeans до этого исправления ".

Нет, это не так. Я просто не могу заставить Netbeans клонировать репозиторий github, следуя стандартной документации мастера.

Джон Гибсон прокомментировал проблему GitLab CE № 624( https://gitlab.com/gitlab-org/gitlab-ce/issues/624), что он столкнулся с аналогичной ошибкой. Он объясняет, что "обнаружил, что все доступные шифры на сервере имеют не менее 256 бит. Стандартный Oracle Java поставляется с криптовалютой, которая ограничена 128 битами для некоторых алгоритмов. После установки пакета шифрования неограниченной силы от Oracle проблема исчезла. Обратите внимание, что пакет безлимитной силы легально доступен только в США. Если вы находитесь за пределами США, я думаю, что вместо него будет работать OpenJDK ".

Я перешел по ссылке, которую он упомянул ( http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html), загрузил файлы политики юрисдикции неограниченной надежности Java Cryptography Extension (JCE) 7 и выполнил действия, указанные в файле readme, прилагаемом к загрузке.

  • Я попробовал эту загрузку, и в readme.txt четко сказано:

"Текущие версии JDK не требуют отдельных неограниченных файлов политик. Они предназначены для использования со старыми версиями. Неограниченные файлы политик для более ранних выпусков требуются только для обновлений JDK 7 до 7u171 ".

Так что это тоже не работает. Я в полном тупике. Что мне нужно сделать, чтобы последняя, ​​самая лучшая версия Netbeans нормально работала с соединениями github и SSH?

5 ответов

Я использую macOS и смог это исправить, но порядок вещей немного сложный.

Сначала перейдите в папку SSH и удалите известные хосты (или удалите из нее раздел GitHub):

      cd ~/.ssh
rm known_hosts

Затем измените формат ключа, как описано в разделе «Недопустимый закрытый ключ» при использовании JSch :

      cp yourkeyfile yourkeyfile.bak
ssh-keygen -p -f yourkeyfile -m pem

Затем убедитесь, что он работает (введите yes при запросе продолжения, который снова создает файл известных хостов):

      ssh -T git@github.com

Закройте NetBeans, если он все еще работает, и запустите его снова.

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

У меня была такая же проблема, и после долгих поисков я нашел, как ее решить. Речь идет о способе генерации закрытых ключей.

Проверить это .

Попробуйте вообще без Cygwin.

Запустите Netbeans по упрощенному пути, который включает только:

  • Windows
  • Ява
  • Git

То есть:

set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\
set GH=C:\path\to\git
set PATH=%GH%\bin;%GH%\usr\bin;%GH%\mingw64\bin;%PATH%
set PATH=C:\path\to\java\bin;%PATH%

Git для Windows включает в себя все необходимое для работы OpenSSH.

Кажется, у меня была аналогичная проблема, но на MacOS. Для меня решением было изменить разрешения на id_rsaфайл, как предлагается здесь, в 400, что означает доступ только для чтения для владельца и никакого доступа для всех остальных. Не знаю, как установить эквивалентные разрешения в Windows, но это может вам помочь.

Я не уверен, поможет ли это, но у меня также были проблемы с клонированием репозитория с помощью мастера NetBeans, но они исчезли на следующий день, вероятно, из-за перезагрузки Windows или перезапуска NetBeans. Также кажется, что NetBeans не поддерживает никаких сокращений, которые вы могли указать в файле.ssh/config. Поэтому вам нужно использовать здесь длинную форму "user@hosturl.xx/...". Это могло бы объяснить, почему команда git clone работала из командной строки, а не в мастере.

Другие вопросы по тегам