ssh 无法使用 ssh-agent 中的私钥:与代理通信失败

发布于 2025-01-12 13:57:23 字数 681 浏览 0 评论 0原文

我在使用 ssh 时遇到错误,它尝试使用 ssh-agent 中的密钥,但失败并显示此消息(运行 ssh -v 时):

debug1: get_agent_identities: ssh_fetch_identitylist: communication with agent failed

完整日志

我可以看到运行 ssh-add -l 时添加到代理中的两个密钥:

$ ssh-add -l
3072 SHA256:0i3sqR60WRsAOpFVJyw951NUDW01jkAWFB1na921Asd xxxxxx@somehost (RSA)
4096 SHA256:CG6njka821AOd82j1xGFkyiOjwG/yo921KAIOWm3t/4 xxxxxx@anotherhost (RSA)

出现同样的错误代理内没有钥匙或一把钥匙。

我在 Archlinux 上运行 Fish shell,也在 bash 下尝试过这个,但似乎没有什么区别。同样的设置在 Ubuntu 上也适用于我。对于这个确切的问题似乎没有任何疑问,我也没有任何线索。

I'm getting an error when using ssh, which tries to use keys from ssh-agent, but fails with this message (when running ssh -v):

debug1: get_agent_identities: ssh_fetch_identitylist: communication with agent failed

Full log

I can see both of my keys added to the agent when running ssh-add -l:

$ ssh-add -l
3072 SHA256:0i3sqR60WRsAOpFVJyw951NUDW01jkAWFB1na921Asd xxxxxx@somehost (RSA)
4096 SHA256:CG6njka821AOd82j1xGFkyiOjwG/yo921KAIOWm3t/4 xxxxxx@anotherhost (RSA)

The same error appears with no keys or one key inside the agent.

I'm running the fish shell on Archlinux, and also tried this under bash, but it doesn't seem to make a difference. The same setup was working for me on Ubuntu. There seem to be no questions about this exact issue, and I'm stuck with no clues.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

衣神在巴黎 2025-01-19 13:57:23

我发现我的电脑上的这个问题是由存储我的 ssh 密钥文件的 Windows 默认 ssh 客户端引起的。使用 https://github.com/ 升级到 8.9 后PowerShell/Win32-OpenSSH/releases/tag/v8.9.0.0p1-Beta 我解决了这个问题。

I found that this problem on my pc is caused by the windows default ssh client which stores my ssh key files. After upgrading to 8.9 with https://github.com/PowerShell/Win32-OpenSSH/releases/tag/v8.9.0.0p1-Beta I solved this problem.

冷夜 2025-01-19 13:57:23

您还可以使用 OpenSSH Windows 版本的 Beta 通道。

在具有管理员权限的 powershell 中:

Remove-WindowsCapability -Online -Name OpenSSH.Client
winget install Microsoft.OpenSSH.Beta --override ADDLOCAL=Client

并重新启动您的 Windows 代理。
这将在程序文件中安装并使用新版本的 OpenSSH。

You can also use beta channel for OpenSSH windows version.

In a powershell with admin rights :

Remove-WindowsCapability -Online -Name OpenSSH.Client
winget install Microsoft.OpenSSH.Beta --override ADDLOCAL=Client

And restart your windows agent.
This will install and use a new version of OpenSSH in program files.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文