Вопрос

У меня есть gitosis, установленный на личном сервере, и я настроил его так, чтобы моя машина ubuntu, на которой я сейчас работаю, могла получить доступ к репозиторию из командной строки, и это нормально с

<цитата>

git clone gitosis @ myservername: /myreponame.git

Он запрашивает у меня кодовую фразу для моего ключа rsa, а затем проходит и работает должным образом.

Однако я пытаюсь использовать EGit с eclipse (опять же, в Ubuntu), и мне не удается получить данные из репозитория. Я настроил его, чтобы вытащить именно этот репозиторий, gitosis @ myservername: /myreponame.git, и он переходит к поиску myservername и моего личного открытого ключа (он также дает путь к файлу, поэтому я знаю его тот же самый) и запрашивает моя кодовая фраза. Однако он никогда не принимает мою парольную фразу (примечание: я почти уверен, что он отклоняет парольную фразу, а не сам ключ, поскольку он немедленно отклоняет его и не говорит, что он не авторизован, а также тот факт, что тот же ключ работает из CLI). У меня сложилось впечатление, что причина, по которой он не работает, заключается в том, что он пытается разблокировать открытый ключ с парольной фразой от имени пользователя gitosis, и это не мое имя пользователя на локальном компьютере, несмотря на то, что разблокировка файла открытого ключа в качестве конкретного пользователь не имеет смысла.

Я знаю, что ввожу кодовую фразу правильно, потому что она работает из интерфейса командной строки, и я даже успешно изменил кодовую фразу, чтобы быть уверенным на 300%.

Может ли кто-нибудь пролить свет на эту проблему?

Это было полезно?

Решение

Святой гуакамоле - я сам решил. Делюсь своими решениями, поскольку, похоже, у многих людей была проблема.

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

Согласно этому отчету об ошибке, реализация ssh, которую EGit использует по умолчанию, не может обрабатывать ssh-ключи, зашифрованные чем-либо, кроме 3DES, но она не проверяет шифрование и поэтому просто не работает, как если бы была введена неправильная кодовая фраза.

Следующий комментарий к отчету об ошибке мне помог: https://bugs.eclipse.org/bugs/show_bug.cgi?id= 326526 # c9

Он говорит, что нужно просто установить переменную среды GIT_SSH, которую EGit теперь уважает, как такую, которая может обрабатывать ключевое шифрование, которое вы используете, в моем случае я просто установил ее в / usr / bin / ssh с помощью

<цитата>

экспорт GIT_SSH= / usr / bin / ssh

А затем откройте eclipse.

Вы также можете добавить это где-нибудь, чтобы он запускался каждый раз, когда вы входите в систему. Для меня в Ubuntu 11.04 я добавил строку экспорта в свой файл ~ / .gnomerc (который еще не существовал), и теперь он устанавливается каждый раз, когда я вхожу в систему.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top