ssh-add返回以下内容:“连接到代理时出错:没有这样的文件或目录”


24

ssh-add 单独不起作用:

Error connecting to agent: No such file or directory

我应该如何使用该工具?


1
尊敬的主持人,我被要求将这个问题从StackOverflow移至此站点,但是后来我再次投票否决了?你至少可以告诉我为什么吗?

我不是主持人,但是只要搜索错误消息就会为您提供答案。stackoverflow.com/questions/17846529/…–
Panki

1
@Panki我尝试了该解决方案,但它不起作用,所以我来问一个新问题。

1
请阅读我们的常见问题解答,花点时间浏览一下,以了解论坛的使用情况。
Rui F Ribeiro

1
感谢所有帮助我改善此问题的主持人!

Answers:


30

您需要先初始化代理。

ssh-agent bash

2
谢谢它为我工作!由于我正在使用fish,所以命令是ssh-agent fish

这对我不起作用
内克特维

我不想在代理下运行其他bash
Dims

18

SSH代理未运行,或者它设置的环境变量在当前环境中不可用(最重要SSH_AUTH_SOCK),或者设置不正确(指向无效的代理)。

您可以使用以下命令在当前Shell会话中启动代理

eval "$(ssh-agent)"

或使用以下命令通过代理启动新的Shell会话

ssh-agent fish

(用fish您正在使用的任何外壳替换)。但是,既然您说过去曾经ssh-add没有这个功能就可以使用,这使我相信您不小心杀死了该代理(或者由于其他原因而终止了代理)。该错误消息使我认为SSH_AUTH_SOCK实际上已设置了环境变量,但是ssh-add在该路径上找不到有效的通信套接字。

如果您完全注销并再次登录或重新启动计算机后,如果您通常的处理方式又能正常工作,这也不会令我感到惊讶。


是的,我想我可能是由于重新启动计算机而意外杀死了代理。

谢谢!修复了我的“权限被拒绝”问题
洛林·里弗斯

4

在Windows Power Shell中:

  1. 检查ssh-agent的当前状态:“获取服务| select -property name,starttype”
  2. 设置新类型:“设置服务-名称ssh代理-StartupType手册”
  3. 启动它:“启动服务ssh-agent”
  4. 像以前一样添加密钥:“ ssh-add”
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.