Eclipse E git с SSL-сертификатом клиента не работает на удаленном pu sh (git -receive-pack не разрешен) - PullRequest
1 голос
/ 28 апреля 2020

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

Мой удаленный репозиторий git (Gitea) размещен на VPS с поддержкой https, а сервер настроен для аутентификации клиента SSL, поэтому пользователю требуется предоставить сертификат клиента SSL. Репо можно просмотреть через веб-страницу после импорта сертификата клиента в браузер.

Используя Eclipse, я успешно клонировал проект в локальном git хранилище до , добавив аутентификацию клиента SSL на удаленный сервер. Затем я активировал аутентификацию клиента SSL на сервере.

Когда я фиксирую изменения кода в Eclipse и затем использую git push для удаленного источника из командной строки, сервер успешно аутентифицирует клиента, и изменения без проблем передаются в удаленное хранилище.

Но когда я пытаюсь подключить sh к удаленному устройству из Eclipse, происходит сбой с ошибкой «Не удается подключиться ни к какому репозиторию - git -receive-pack not разрешен».

git параметры конфигурации в Eclipse включают следующую конфигурацию http:

http.sslCert=/home/tim/keys/ssl-client.full.pem
sslCertPassword=false
sslKey=/home/tim/keys/ssl-client.key
sslVerify=false

Поскольку эти параметры работают нормально, используя git push из командной строки, это подтверждает правильность конфигурации. Что еще мне нужно настроить в Eclipse для успешного запуска Eclipse pu sh?

(Обратите внимание также, что попытка клонирования или извлечения из удаленного репозитория с активной аутентификацией клиента SSL приводит к аналогичному поведению - отлично работает с git из командной строки, но не с Eclipse.)

Обновление: nginx веб-сервер предоставляет доступ https к удаленному репозиторию, а в журнале nginx это показано:

"GET /TimLearning/learning.git/info/refs?service=git-receive-pack HTTP/1.1" 403 153 "-" "JGit/5.7.0.202003110725-r" "-"

Когда я копирую URL-адрес в браузер и префикс его с URL-адресом моего сервера, В браузере появляется стандартное окно аутентификации basi c (имя пользователя / пароль). Когда я ввожу имя пользователя / пароль, он возвращает веб-страницу с этим:

f285f5e7cd96a94a94caaa199cc97a7e78832e3b    refs/heads/master

, который является правильным ответом. Таким образом, кажется, что когда Eclipse пытается выполнить pu sh, он вызывает j git для запуска git -receive-pack, чтобы получить вышеуказанную информацию, но терпит неудачу, потому что j git не передает требуемое имя пользователя / пароль , Ключ. Интересно, как настроить Eclipse для передачи необходимых учетных данных в j git?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...