【问题标题】:Git asking for git@git.repo.local passwordGit 询问 git@git.repo.local 密码
【发布时间】:2016-09-15 16:45:29
【问题描述】:

我正在尝试使用 SSH 身份验证克隆或推送到我们的 Gitlab 服务器上的空存储库,但每当我尝试时,我都会被要求输入 git 密码(使用 Git Bash):

myname@PC0016 MINGW64 /c/users/myname/dev
$ git clone git@git.repo.local:android/myApp.git
Cloning into 'myApp'...
git@git.repo.local's password:

我已经尝试了我的密码和管理员给我的 Git 密码,但我得到了:

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

当我在 Gitlab 中将我的 SSH 密钥添加到项目文件时,为什么需要提供此密码?我错过了什么?谢谢!

【问题讨论】:

  • 你的钥匙在哪里?
  • 我不确定是密码问题。 Git 提供者必须承认并批准您的公共证书。
  • @Jakuje 我的密钥在 C:\Users\myname\.ssh
  • ssh -Tvvv git@git.repo.local 是否要求输入密码?列出您尝试使用的密钥?
  • @Jakuje 确实如此,奇怪的是它在 Z: 驱动器中查找...debug1: key_load_public: No such file or directory debug1: identity file /z/.ssh/id_rsa type -1 ...我可以将其指向我的 .ssh 文件夹吗?

标签: git bash ssh passwords gitlab


【解决方案1】:

创建一个 ssh_config`,您将在其中将您的客户端指向您的身份文件:

Host git.repo.local
  IdentityFile C:\Users\myname\.ssh\id_rsa

将此文件存储在/z/.ssh/config 中以供您的客户读取。

【讨论】:

  • 谢谢,这听起来可能会解决它。我在 C:\Program Files\Git\etc\ssh 中有一个 ssh_config 文件 - 我需要在其中添加主机列表吗?
  • 是的,您也可以在那里添加它。它应该完成这项工作。如果您想在任何地方使用此身份文件,则不需要 Host 行。
  • 完美,我现在可以克隆和推送了!非常感谢先生。
【解决方案2】:

您需要一个 ssh 密钥来跳过身份验证阶段。 通常我执行的操作是:

  1. 如果您还没有 ssh 密钥,请生成一个:instructions
  2. 将密钥添加到gitlab:page
  3. 通过 ssh 克隆存储库:项目主页中的克隆或下载按钮,
  4. 设置提交消息的用户名或电子邮件地址:instructions,
  5. 玩得开心!!!

如果您正确设置密钥,一切都会好起来的。

【讨论】:

  • 问题似乎提到了 Gitlab,而不是 GitHub,但是我怀疑问题是 GitLab 无法识别证书。
  • @petehallw 如果您没有告诉 GitLab,拥有 SSH 密钥就没有任何意义。这就像被邀请参加一个没有身份证的聚会来证明你是谁。你永远不会让这样的人进来。
  • @TimBiegeleisen 如描述中所述,我将 SSH 密钥添加到 GitLab。我认为问题在于它在我的本地机器上的位置。
  • 两个 需要存在密钥的位置,在您的本地计算机上在 GitLab 服务器上。你确定它在这两个地方都有吗?
  • 是的,我都提到了。问题已经解决了,感谢各位cmets。
猜你喜欢
  • 2014-07-21
  • 2016-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-30
  • 1970-01-01
  • 1970-01-01
  • 2012-04-19
相关资源
最近更新 更多