Gitlab上的SSH密钥一直要求输入密码问题

8

我已经调试了一两个小时的问题。

我目前正在使用Gitlab和Mac OS X 10.9.2。

今天,我试图从我们的主分支中执行git pull origin master以获取最新版本进行开发。我一直使用这些配置,并不记得更改任何内容。这个配置一直都有效,从来没有提示我输入密码。今天,我收到了以下错误:

My-MacBook-Pro:branch_name loop$ git pull origin master

git@domain's password:

这是我的~/.ssh/权限:

My-MacBook-Pro:.ssh loop$ ls -l

total 24

-rw-------  1 loop  staff  1766 Oct 31  2013 github_rsa

-rw-r--r--  1 loop  staff   403 Oct 31  2013 github_rsa.pub

-rw-r--r--  1 loop  staff  2408 Sep 15 15:08 known_hosts

我尝试了各种方法:
  1. 重新启动 com.openssh.sshd

  2. 重新启动 org.openbsd.ssh-agent

  3. 确认在 Gitlab 上的公钥与我的 github_rsa.pub 是相同的,确实是一样的。

  4. 我取消注释了 sshd_config 中的 PasswordAuthentication no

  5. 检查了 /var/log/authd.log 中与 SSH 相关的错误,但没有发现相关内容。

可能出现了什么问题?
2个回答

4
将文件github_rsa重命名为id_rsa。
SSH在您的主目录的.ssh文件夹中按“名称”id_rsa查找私钥。
现在无法找到它,因为您已将其重命名。
附注:每当遇到SSH问题时,请尝试使用选项-vvv运行它,以便获得详细输出!
希望这解决了问题!
快乐地Gitting!

如果一直使用github_rsa,那么名称是否会是原因呢?你如何运行-vvv?执行ssh -vvv或者sshd -vvv只会弹出帮助部分(表示未找到命令)。 - theGreenCabbage
2
我已将 github_rsa 的名称更改为 id_rsa。在使用 git pull origin master 命令时,我会收到以下提示:输入密钥 '/Users/loop/.ssh/id_rsa' 的密码: - theGreenCabbage
在生成密钥时,您应该已经设置了一个口令。它现在正在要求您输入该口令! :) - Mudassir Razvi
这真的很有趣。我之前使用过 github_rsa,它从未提示我输入密码到 git URL.. 会是什么突然导致它这样做呢? - theGreenCabbage
我不知道!因为如果我重命名了我的私钥文件,它从未允许无密码访问。它正常工作吗?对于-vvv:$ ssh -vvv user.name@domain.com 将为您提供调试输出,只有 $ ssh -vvv 将向您显示帮助! - Mudassir Razvi
显示剩余2条评论

4

通过为Gitlab生成一个新的公钥/私钥并且没有密码,解决了这个问题。

创建一个新的SSH密钥:

ssh-keygen -t rsa -C "name@domain.com"

注意:对于这种情况,当提示输入密码时,将其留空,因为此密钥仅用于内部使用。

转储内容:

cat ~/.ssh/id_rsa.pub

最后,将内容复制添加到Gitlab中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接