Геррит не может клонировать

Я пытаюсь создать систему проверки gerrit и смог успешно запустить gerrit на порту 8084, и проверка успешно выполняется на порту 29429.

Когда я пытаюсь запустить git clone ssh://user@ip:29429/myrepo.git, я получаю следующую ошибку:

Cloning into 'myrepo'...
The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 1024 a1:bc:b8:fe:e7:79:c9:34:96:28:7d:6f:d3:3d:af:9b
Connection abandoned.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Когда я запускаю ssh -p 29429 user@ip gerrit ls-projects, он просит меня ввести парольную фразу. Когда я ввожу кодовую фразу, я могу видеть myrepo

Следующее также хорошо (убедитесь, что пользователь в порядке с gerrit)

$ ssh -p 29429 user@ip
Enter passphrase:

После ввода пароля получаю следующее

**** Добро пожаловать в обзор кода Gerrit ****

Привет, пользователь, вы успешно подключились через SSH.

К сожалению, интерактивные оболочки отключены. Чтобы клонировать размещенный репозиторий Git, используйте:

git clone ssh://user@ipaddress:29429/REPOSITORY_NAME.git

Соединение с ip закрыто.

Помогите пожалуйста где ошибка. Я что-то делаю не так или что-то упускаю?


person Ramki    schedule 17.05.2013    source источник


Ответы (1)


Проблема с замазкой и подключением к порту (29429). Дело в двух моментах.

Пункт 1: если вы оставите закрытый ключ и открытый ключ в папке .ssh Windows, то, когда вы сделаете ssh -p 29429 user@ip, он запросит парольную фразу и даст вам приветственное сообщение проверки кода gerrit.

Пункт 2. При клонировании, если вы получаете это «Ключ хоста сервера не кэширован в реестре и т. Д. - Соединение прервано. фатальный: Не удалось прочитать из удаленного репозитория.» это вызвано тем, что замазка не подключается к этому порту.

Чтобы решить эту проблему, войдите в замазку на этом конкретном порту (29429), затем примите ключ хоста (в основном нажмите «да» во всплывающем окне). Вы должны понимать, что он не позволит вам войти в систему (что совершенно нормально). Это просто кеширование ключа сервера.

Вы можете удалить ~/.ssh/known_hosts, а затем попробовать ssh user@ip и войти в систему, что создаст файл known_hosts в вашей папке .ssh на клиенте (машина с Windows). но это не то, куда он смотрит. Putty кэширует его в другом месте (не знаю где, но не здесь)

Затем оставьте ваш замазочный агент работающим - загрузите свой закрытый ключ. Затем попробуйте клонировать в git bash. Это должно быть хорошо. Также убедитесь, что открытый ключ, сгенерированный Putty Key gen, помещен в Gerrit — настройки — ключи ssh.

Если вы получаете исключение «Отказано в доступе» (открытый ключ), проверьте свое имя пользователя gerrit, оно может быть пустым или недействительным (отличается от ваших настроек конфигурации git).

Убедитесь, что при запуске git config --global --edit (имя и адрес электронной почты должны соответствовать вашим настройкам gerrit).

person Ramki    schedule 20.05.2013
comment
Добро пожаловать в Stack Overflow. Спасибо за публикацию решения проблемы, которая у вас была. По соглашению решение проблемы должно быть опубликовано как ответ на вопрос, даже если вы публикуете его сами. Это ясно показывает, что есть ответ и что проблема решена (не говоря уже о том, что вы получаете репутацию от вопроса и ответа) - person ; 20.05.2013
comment
я не знаю, как добавить ответ, поэтому я сначала добавил в сам вопрос. Извините, что я новичок. Потом друг сказал добавить в ответ. Следовательно, добавлено в ответ. На самом деле меня не волнуют репутация или оценки, пока есть решение, помогающее другим. - person Ramki; 21.05.2013
comment
Кнопка для добавления собственного ответа находится внизу вопроса как показано на этом снимке экрана - person ; 21.05.2013
comment
Я отредактировал и вопрос, и ответ, так что решение @ user1412600 теперь находится в правильном месте. - person MetaFight; 28.08.2013
comment
Вы только что спасли мой день! - person VSMent; 28.06.2020