簡體   English   中英

無法克隆 Gerrit 存儲庫

[英]Unable to Clone Gerrit Repository

我正在嘗試連接到我的 VPS 上托管的 gerrit。 我正在使用 Git Bash 作為 windows。我在 GitBash 中使用 ssh-keygen 生成了 SSH 密鑰,並在 gerrit 服務器上添加了密鑰。 當我運行ssh -p 29418 <username>@<gerrit-server>我會看到下面的歡迎信息

  ****    Welcome to Gerrit Code Review    ****

  Hi Full Name, you have successfully connected over SSH.

  Unfortunately, interactive shells are disabled.
  To clone a hosted Git repository, use:

  git clone ssh://username@<gerrit-server>:29418/REPOSITORY_NAME.git

但是當我通過運行以下命令克隆存儲庫時

git clone ssh://<username>@<gerrit-server>:29418/project-name.git

我在我的 Git Bash 終端中看到以下錯誤

Cloning into 'project-name'...
ssh_exchange_identification: Connection closed by remote host
fatal: Could not read from remote repository.

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

我無法理解發生了什么以及如何在我的機器上成功克隆我的項目。 誰能幫我解決這個問題?

更新-1:

我仍然無法弄清楚問題出在哪里,但我只想分享一些正在發生的奇怪事情。 我創建了另一個 SSH 密鑰,這次我為 SSH 密鑰添加了一個密碼。 我也在 SSH 服務器上添加了該密鑰。 通常,當密鑰附有密碼時,Git Bash 終端應要求提供密碼以解鎖私鑰。
現在正在發生的事情是如果我通過運行命令 ssh gerrit 服務器
ssh -p 29418 <username>@<gerrit-server>它要求我解鎖密碼,這意味着它使用正確的 ssh 密鑰並顯示 Gerrit 歡迎消息
問題是當我運行上面列出的 git 克隆命令時它不要求輸入密碼,這意味着它使用其他一些 SSH 密鑰,這就是我從 Gerrit 收到SSH_exchange_identification錯誤的原因。 在克隆之前我需要執行任何其他步驟嗎? 我是否必須執行任何 Git 設置才能成功克隆 Git 存儲庫?

配置你的 git 設置 -> config

添加user.nameemail (這是在您的格里特設置使用)

我也遇到了同樣的問題,它不適用於最新版本的 Git。

對於 git 版本 - 2.29.3,它對我來說效果很好。

如果您想確定正在使用哪個 ssh 密鑰,請嘗試在 .ssh 文件夾中添加一個名為config的文件,內容如下。 這將幫助您確定正在使用哪個 ssh-key -

# Gerrit 
Host gerrit.*.com
   host gerrit.*.com
   user user_name
   PreferredAuthentications publickey
   IdentityFile ~/.ssh/id_rsa

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM