连接到代理时出错:没有这样的文件或目录 - 将密钥添加到 ssh 代理

我正在尝试将我生成的密钥添加到 ssh 代理。下面是我的步骤

C:repo>ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (C:Usersmante1/.ssh/id_rsa):C:repokey

生成密钥后,我正在启动 ssh 代理并添加它

C:repo>start-ssh-agent
Found ssh-agent at 13460
Found ssh-agent socket at /tmp/ssh-vKzdrs37QYVK/agent.821

C:repo>ssh-add ~/.ssh/id_rsa
Error connecting to agent: No such file or directory
stack overflow Error connecting to agent: no such file or directory - adding key to ssh agent
原文答案

答案:

作者头像

VonC 可能是对的,因为你需要修复你的路径,但我遇到了同样的问题 despite 使用正确的路径。就我而言,我需要启动 ssh-agent 才能使命令工作

从 GitHub 运行示例命令不起作用,但是,由于我已经安装了 OpenSSH,我只是在服务应用程序上启动了预安装的“OpenSSH 身份验证代理”服务,如 this answer 中所述。

作者头像

如果您在 C:repokey 生成了您的密钥,那么您需要 ssh-add 的密钥是... C:repokey , not ~/.ssh/id_rsa

C:repo>ssh-add C:repokey

那会奏效。

作者头像

这个问题可能是因为您有两种类型的ssh-agent.exe,您可以在任务管理器中看到它们,一个SSH-Agent将来自Git,另一种将来自Openssh。

使固定

1.从任务管理器结束所有SSH任务
2.转到您的情况下的键所在的目录 C:repokey 这应该是您的工作目录,然后运行 start-ssh-agent 将自动将您的私钥添加到SSH中,并且您不需要 ssh-add 命令 。

imp

  1. start-ssh-agent 将使用Git中的SSH
  2. start ssh-agent 将使用OpenSSH的SSH

因此,您使用的SSH版本之间可能存在不一致之处,并添加/生成密钥

作者头像

尝试输入:

ssh-agent bash

然后执行:

ssh-add...
作者头像

将它准确地放在文件夹名称 '.ssh' 中的特定用户目录中也很重要,并且文件名必须是 id_rsaid_rsa.pub

作者头像

就我而言, ~ 是问题所在。一旦我输入了我的完整路径 ssh-add C:Usersqa95.sshid_rsa 它就起作用了。

看起来 PowerShell 不完全支持用户目录的波浪号扩展,因此即使 dir ~.sshid_rsa 可能工作正常, ssh-add 也不喜欢它。