GitLab + Eclipse + SSH — ошибка аутентификации или невозможно открыть git-upload-pack

На этой неделе я настроил новый сервер GitLab. Он работает.
Вчера я заставил его быть доступным через HTTPS для безопасного обмена данными.

В Eclipse я сгенерировал RSA-ключ через настройки.

Но если я попытаюсь импортировать Git-Project (git@DOMAIN:GROUP/PROJECT.git), то:

  1. без ввода пароля я получил ответ: Ошибка аутентификации: неверный пароль или отсутствующий ключ SSH.
  2. с моим заполненным паролем (но с именем пользователя git) я получил ответ:

    Auth fail: Invalid password or missing SSH key.
    
  3. с моим пользователем и паролем я получил ответ:

    Auth fail: Invalid password or missing SSH key.
    

Через HTTPS получаю ответ:

cannot open git-upload-pack

Пожалуйста, что я не вижу?


person lippoliv    schedule 09.01.2014    source источник


Ответы (3)


Из моего ответа от здесь:

Я столкнулся с той же проблемой при переносе моего проекта с github на bitbucket, и вот как я ее решил:

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

1) Я использовал ключ ssh для отправки моих коммитов на удаленный компьютер с помощью github в eclipse, ключ ssh установлен на window -> preferences -> General -> Network Connections -> SSH2 для eclipse (при нажатии git этот ключ ssh используется, если он установлен). Если на вашем компьютере нет ключей ssh, тогда следуйте этой статье, чтобы сгенерировать ее для вас и установить ее в eclipse по указанному выше пути.

2) В своей учетной записи github или bitbucke найдите экран, на котором вы можете сохранить свой ключ ssh. Для битбакета он находится по адресу https://bitbucket.org/account/user/[user-name]/ssh-keys/. «[имя пользователя]» — это ваше имя пользователя на битбакете. Откройте файл id_dsa.pub (где вы сгенерировали ключ ssh) с помощью текстового редактора, выберите все, скопируйте и вставьте в раздел добавления ключа ssh вашей учетной записи github/bitbucket, а затем нажмите «Добавить».

3) В eclipse обязательно используйте GIT URI «ssh» для своего проекта. Перейдите к Window -> Preferences -> Team -> Git -> Configuration, щелкните вкладку «Repository Settings» и вставьте свой GIT ssh URI в remote.origin.url.

Выбор Bitbucket ssh uri

4) Наконец, попробуйте отправить свои коммиты на удаленный компьютер. Вы не должны сталкиваться с какими-либо ошибками, если у вас есть, пожалуйста, прокомментируйте мой ответ.

С уважением...

person Bahadir Tasdemir    schedule 13.07.2016

Недавно у меня были похожие проблемы с GitLab, но я исправил их с помощью:

Сначала я сгенерировал ssh-rsa с помощью интерфейса командной строки MAC-OSX и экспортировал его в GitLab. Git CLI работали, но Eclipse не повезло.

Затем я перешел в Eclipse> Настройки...> Общие> Сетевые подключения> SSH2, вкладка «Управление ключами», я повторно сгенерировал ключ из Eclipse, но с помощью кнопки «Создать ключ RSA ...». В конце у него было «RSA-1024», и он экспортировался в GitLab.

person JohnRossy    schedule 09.10.2018
comment
У меня были те же симптомы: отлично работает из командной строки, но не работает в Eclipse с неверным паролем или отсутствующим ключом SSH. Как ни странно, ключ, сгенерированный из командной строки, дает сбой, когда я запускаю openssl rsa -text -noout -in id_rsa с сообщением, которое слишком длинно для этого поля. Однако, когда я генерирую ключ с помощью Eclipse, он отлично работает. Даже когда я явно указываю битовую длину и тип, в командной строке все равно происходит сбой. - person bmauter; 04.08.2019

http://en.wikipedia.org/wiki/HTTP_Secure и ssh — это два разных протокола связи.

Если вы хотите получить доступ к своим репозиториям GitLab с URL-адресом https, вы должны использовать URL-адрес https:

https://yourLogin@DOMAIN/group/project.git

Если вы используете git@DOMAIN:GROUP/PROJECT.git, это URL-адрес ssh.

Теперь: клонирование ssh должно работать, если вы правильно настроили SSH id_rsa и id_rsa.pub в Eclipse: см. EGit SSH конфигурации.
Убедитесь, что:

  • ваш закрытый ключ сначала не защищен паролем.
  • ваш открытый ключ (id_rsa.pub) опубликован в вашем профиле GitLab
person VonC    schedule 09.01.2014
comment
Да, я знаю. но не имеет значения, использую ли я SSH-URL или HTTPS-URL, оба не работают. Мой вопрос: почему? Что может нарушить кассу через SSH или HTTPS? - person lippoliv; 09.01.2014
comment
@lippoliv Я отредактировал ответ, указав часть ssh. URL-адрес ssh не будет включать ваше имя пользователя и пароль, но всегда будет открытым и закрытым ключом. - person VonC; 09.01.2014
comment
Благодарю. Теперь это кажется более ясным :) Но что именно вы подразумеваете под своим закрытым ключом, сначала не защищенным паролем. Разве я не должен установить парольную фразу? - person lippoliv; 09.01.2014
comment
@lippoliv, вы можете установить парольную фразу. Все, что я говорю, это не устанавливать парольную фразу первым, чтобы проверить настройки ssh, не беспокоясь об указанной парольной фразе. Если это сработает, вы можете заменить свой открытый/закрытый ключ одной защищенной парольной фразой, если хотите. - person VonC; 09.01.2014
comment
Эй, VonC, я думаю, что что-то не так с моей конфигурацией... Я сделал то, что вы сказали, вот результат (прямо из git bash): git clone [email protected]:GROUP/PROJECT.git Клонирование в «ПРОЕКТ».. . Доступ запрещен. фатальный: Не удалось прочитать из удаленного репозитория. Пожалуйста, убедитесь, что у вас есть правильные права доступа и репозиторий существует. git clone [email protected]:GROUP/PROJECT.git Клонирование в 'PROJECT'... пароль [email protected]: [правильное заполнение] Разрешение отклонено, попробуйте еще раз. - person lippoliv; 10.01.2014
comment
git clone URL.TLD/GROUP/PROJECT.git Клонирование в PROJECT... фатально : невозможно получить доступ к 'URL.TLD/GROUP/PROJECT.git': проблема с сертификатом SSL : не удалось получить сертификат локального эмитента. Есть идеи? - person lippoliv; 10.01.2014
comment
@lippoliv URL-адрес https означает, что у вас есть сертификат ssl, как в github.com/gitlabhq/gitlab-recipes/tree/master/install/. И ваша конфигурация должна отражать это (github.com/gitlabhq /gitlabhq/blob/). - person VonC; 10.01.2014
comment
У меня есть официальный действующий SSL-сертификат для входа в систему, купленный на месте. Я могу получить доступ к своему GitLab через HTTPS, а также к моему Jenkins без предупреждения. CN = PositiveSSL CA 2 O = COMODO CA Limited L = Солфорд S = Большой Манчестер C = GB Он успешно настроен в nginx, нужно ли мне явно настраивать его для GIT? - person lippoliv; 10.01.2014
comment
@lippoliv, если это сертификат вашей компании, то да, вам нужно скопировать и вставить его ЦС (центр сертификации) и промежуточные сертификаты в свой <git installation dir>/bin/curl-ca-bundle.crt - person VonC; 10.01.2014
comment
@lippoliv Что касается доступа по ssh (который вы можете сначала попытаться отладить и который должен быть доступен: github.com/gitlabhq/gitlab-recipes/tree/master/install/), вы можете проверить руководство по устранению неполадок и посмотреть, применимо ли что-нибудь там к вашей ситуации: github.com/gitlabhq/gitlab-public- вики/вики/ - person VonC; 10.01.2014