修复:无法打开与您的身份验证代理的连接

当您尝试使用 ssh-add 命令添加密钥密码时,您可能会收到一条错误消息,提示“无法打开与您的身份验证代理的连接”。 这个特殊问题通常是由于未正确分配 ssh-agent 引起的,这就是为什么许多人发现它在稍微不寻常的情况下会成为问题。

例如,在将 RaspberryPi 与 Raspbian、具有提取的命令提示符的嵌入式路由器或 Android Linux 终端。 您可以使用根本不需要修补的简单命令轻松修复它,无论您正在使用哪种设备或使用哪种外壳。

身份验证代理错误修复

假设您已经在运行 ssh-agent,则不必重新启动它。 相反,您需要尝试通过从命令行运行 ssh-add 来添加您的密钥密码。 当您这样做时,您很可能会收到某种错误提示“无法打开与您的身份验证代理的连接”,一般不会出现其他文本。 这并不是最有用的命令,一些用户发现他们在找到答案之前玩了很长时间,因为它不会引导他们找到正确答案。

首先,即使这听起来有点迂腐,请确保您已连接到 Internet 或您正在使用的任何其他类型的网络协议,因为您可能只是没有连接到网络。 当您使用某种非标准 LAN 设备时,这尤其是一个问题,您只是使用 ssh 进入某种专用网络,而不是通过以太网或 Wi-Fi。

只要确定已连接,请尝试使用 ssh-add ~/.ssh/id_rsa,将文件名替换为您尝试添加的密钥的实际文件名。 事实上,我们在我们的测试机器上调用密钥 ~/.ssh/id_rsa,这是采样器的名称,尽管它可能有不同的名称。 您可能会收到消息“Enter 密码”,它像那些 Linux 虚拟终端。 如果这接受了你的密码,那么它就完全没问题了,不需要任何更多的工作。

另一方面,如果您再次收到错误“无法打开与您的身份验证代理的连接”,则代理需要完全重新分配。 如果您使用的是普通 shell,只需运行 ssh-agent /bin/sh,然后运行 ​​ssh-add ~/.ssh/id_rsa,再次确保替换密钥名称。 此时您应该收到通知。 那些使用纯 bash 谁不在乎 Linux 社区在您的 ssh 客户端中称为“bashisms”,您可以只使用 ssh-agent bash 然后使用 ssh-add 命令。 大多数人会发现 root 用户和普通用户都有 bash 在路上,他们不需要任何其他东西。

Fish-shell 用户会想要尝试 ssh-agent /usr/bin/fish 然后 ssh-add ~/.ssh/id_rsa。 但是,以上内容对于那些使用 Bourne 的人来说效果很好, bash 或绝大多数情况下的 Almquist shell。 如果现在一切正常,那么您无需执行任何其他操作。 那些使用 C-Shell 但是,此时 tcsh 可能会遇到问题。

如果您发现自己处于这种情况,请尝试 eval ‘ssh-agent -c’ 然后 ssh-add ~/.ssh/id_rsa 来注册您的 shell 代理。 这是因为 tcsh 做事有点不同,尽管大多数嵌入式系统等不会有它。 在任何一种情况下,如果您输入的所有内容都正确,此时您应该有一个可用的 ssh 连接。 如果你犯了任何错误,你可以重复命令,因为这些都不是破坏性的。

根据您的设置,您可能需要在每次重新启动后登录到 ssh 连接时执行此操作。 然而,在任何一种情况下,问题都可以通过一个命令轻松解决,因此您以后不必坐着玩。

接下来阅读

  • 修复:代理激活运行时_15831 高 CPU 和内存消耗
  • 最佳指南:替换 Windows 使用 Agent Ransack 搜索 Vista/7/8 和 10
  • 如何更新 Windows 将代理更新到最新版本
  • 什么是 agent.exe,我应该删除它吗?