Git Bash:无法打开与身份验证代理的连接

lei*_*ipz 82 git github

我是Github的新手,并且生成SSH密钥看起来是必要的.我的老板告诉我这件事,所以我需要遵守.

我成功创建了SSH Key,但是当我要将它添加到ssh-agent时

这就是发生的事情

什么似乎是问题?

在此输入图像描述

Kri*_*ana 145

看来你需要ssh-agent在使用它之前运行:

eval `ssh-agent -s`
Run Code Online (Sandbox Code Playgroud)

本主题回答了这个问题:无法打开与身份验证代理的连接

  • 谢谢!什么对我有用的是`exec ssh-agent bash`然后`eval ssh-agent -s`然后`ssh-add~/.ssh/id_rsa` (77认同)
  • 仍然不适合我.执行这些步骤后,也无法执行"无法打开连接"步骤(Windows上的git bash). (7认同)
  • 值得注意的是,`eval \`ssh-agent -s\` ` 是正确的撇号。使用 `eval 'ssh-agent -s' ` 或 `eval "ssh-agent -s" ` 将不起作用。 (5认同)
  • @hikki 我不明白为什么需要所有这些笨蛋,但你的方法最终对我有用。谢谢! (2认同)

der*_*271 40

我检查了这篇文章的所有解决方案以及@kenorb上面引用的帖子,我找不到任何适用于我的解决方案.

我在Windows 7上使用Git 1.9.5预览版,具有以下配置: - 从Windows命令提示符运行Git - Checkout Windows风格,提交Unix风格的行结尾

我使用' Git Bash '控制台来做所有事情...... 在我尝试安装SSH密钥之前一切都很顺利.GitHub的文档说要执行以下操作(在完成阅读帖子之前不要运行这些命令):

确保启用了ssh-agent:

如果您使用的是Git Bash,请启用ssh-agent:
# start the ssh-agent in the background
ssh-agent -s
# Agent pid 59566
Run Code Online (Sandbox Code Playgroud) 如果您正在使用其他终端提示符,例如msysgit,请启用ssh-agent:
# start the ssh-agent in the background
eval $(ssh-agent -s)
# Agent pid 59566
Run Code Online (Sandbox Code Playgroud)

当然,我当然错过了你应该做其中一个事实的事实.因此,我多次运行这些命令,因为后面的ssh-add命令失败了,所以我回到了这一步,并继续一遍又一遍地重试.

这导致每次运行这些命令时都会创建1个Windows的"ssh-agent"进程(每次输入这些命令时都会注意到新的PID?)

所以,Ctrl+ Alt+ Del并点击End Process以停止每个' ssh-agent.exe '进程.

既然已经清理了失败尝试中所有搞砸的东西,我会告诉你如何让它工作......

在' Git Bash '中:

启动' ssh-agent.exe '进程

eval $(ssh-agent -s)
Run Code Online (Sandbox Code Playgroud)

并安装SSH密钥

ssh-add "C:\Users\MyName\.ssh\id_rsa"
Run Code Online (Sandbox Code Playgroud)

*使用您的用户名调整上面的路径,并确保* /.ssh 目录的位置在正确的位置.我想你在Git安装期间选择这个位置?也许不吧...

在我弄清楚这一点之前我做错的部分是我没有在' ssh-add '位置使用引号.以上是它需要在Windows上输入的方式.


Jho*_*lla 21

在Windows上,您可以使用以下命令之一运行Run.

对于32位:

"C:\ Program Files(x86)\ Git\cmd\start-ssh-agent.cmd"

For-64 Bit:

"C:\ Program Files\Git\cmd\start-ssh-agent.cmd"

  • 我尝试了几乎所有建议的东西。除此以外,什么都没有。我想每个人使用相同的味精可能会有不同的问题。 (2认同)

Var*_*mus 9

状况:MVS2017应用程序-在Windows 10上使用“ Git Bash”-尝试连接到BitBucket存储库。

要明确的是,当您安装Windows版Git(https://git-scm.com/download/win)时,它附带了一个名为Git Bash的实用程序。

在此处输入图片说明

因此,我处于“ Git Bash”中,如下所示:

Mike@DUBLIN MINGW64 ~/source/repos/DoubleIrish (master)
$ git remote add origin git@bitbucket.org:Guiness/DoubleIrish.git
$ git remote -v
origin  git@bitbucket.org:Guiness/DoubleIrish.git (fetch)
origin  git@bitbucket.org:Guiness/DoubleIrish.git (push)
Mike@DUBLIN MINGW64 ~/source/repos/DoubleIrish (master)
$ git push -u origin master
[...]
git@bitbucket.org: Permission denied (publickey).
fatal: Could not read from remote repository.
Run Code Online (Sandbox Code Playgroud)

是否设置了私钥?

$ ssh -V
OpenSSH_7.7p1, OpenSSL 1.0.2p  14 Aug 2018
$ ls -a ~/.ssh
./  ../  known_hosts
Run Code Online (Sandbox Code Playgroud)

我可以看到,此时我的私钥文件id_rsa)丢失了。因此,我添加了它:(注意:生成一对私钥-公钥超出了我的答复范围,但是我可以说在Linux中,您可以使用ssh-keygen它。)

$ ls -a ~/.ssh
./  ../  id_rsa  known_hosts
Run Code Online (Sandbox Code Playgroud)

好的,让我们继续:

$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-KhQwFLAgWGYC/agent.18320; export SSH_AUTH_SOCK;
SSH_AGENT_PID=17996; export SSH_AGENT_PID;
echo Agent pid 17996;

$ ssh-add ~/.ssh/id_rsa
Could not open a connection to your authentication agent.
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我运行:

$ ssh-agent bash
Run Code Online (Sandbox Code Playgroud)

然后,再次:

$ ssh-add ~/.ssh/id_rsa
Identity added: /c/Users/Mike.CORP/.ssh/id_rsa (/c/Users/Mike.CORP/.ssh/id_rsa)
Run Code Online (Sandbox Code Playgroud)

它为我工作。希望这可以帮助