首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置SSH_AUTH_SOCK但未设置SSH_AGENT_PID时出错“与代理通信失败”

设置SSH_AUTH_SOCK但未设置SSH_AGENT_PID时出错“与代理通信失败”
EN

Stack Overflow用户
提问于 2022-05-18 16:43:34
回答 1查看 848关注 0票数 1

我在Windows 10 v21H2上使用VisualStudioCodev1.67连接到UbuntuServer22.04计算机。我正在Windows上运行一个SSH代理(v8.1)。我已经在我的Windowsconfig文件中设置了ForwardAgent yes。当我启动Ubuntu终端时,代理似乎在Ubuntu中运行,并拥有我的Windows密钥。我可以通过ssh-add -l看到它。SSH_AUTH_SOCK设置为类似于/run/user/1000/vscode-ssh-auth-sock-12345678 (指向/tmp/ssh-XXXXABCDEF/agent.1234的链接)的内容,但SSH_AGENT_PID没有设置。

如果我尝试ssh -Tvvv git@bitbucket.org,它不使用代理中的密钥,而是询问我的Ubuntu密码。在详细的SSH输出中,有以下消息:

代码语言:javascript
复制
debug2: get_agent_identities: ssh_agent_bind_hostkey: communication with agent failed
debug1: get_agent_identities: ssh_fetch_identitylist: communication with agent failed

我可以启动一个新的代理并使用eval `ssh-agent`; ssh-add在我的Ubuntu机器上添加密钥。这同时设置了SSH_AUTH_SOCKSSH_AGENT_PIDSSH_AUTH_SOCK现在有一条类似于/tmp/ssh-XXXXXXABCDEF/agent.1234的路径。现在,当我用ssh -T git@bitbucket.org进行测试时,它可以工作。我不需要输入密码。我可以通过ssh对远程进行git push之类的操作,而无需输入密码。

我更喜欢使用由VS代码转发的Windows代理密钥。这样我就不用输入密码了。我不明白为什么ssh不能访问它。在我从Ubuntu21.10升级到22.04之前,这是可行的。openssh有问题吗?它是UbuntuServer22.04上的8.9版本。我想是美国21.10号的8.4号。还是VS代码的问题?问题是VS代码在转发密钥时没有设置SSH_AGENT_PID吗?在使用代理时是否需要设置SSH_AGENT_PID

编辑:我注意到,如果我只设置了来自ssh-agentssh-agent,并将SSH_AGENT_PID保持为空,然后在我的Ubuntu机器上添加键,它就能工作(ssh -T git@bitbucket.org等)。因此,在某些情况下,似乎没有必要使用SSH_AGENT_PID。问题可能是VS代码转发代理时创建的SSH_AUTH_SOCK文件有问题。

帮助感激。

EN

回答 1

Stack Overflow用户

发布于 2022-09-24 18:20:04

昨天,当我试图将密钥转发到VSCode中的远程服务器时,我也遇到了同样的问题。原来,默认安装太老了,与服务器的协议不兼容。

下面是我解决这个问题的方法:

  1. 使用提升的权限打开PowerShell
  2. 使用以下方法卸载默认安装: 删除-WindowsCapability -Online -Name OpenSSH.Client0.0.1.0
  3. (可选)如果看到类似于UninstallPending而不是NotPresent的东西,请重新启动
  4. 检查默认OpenSSH是否已完全卸载 Get-WindowsCapability -Online @Where-对象名为-like 'OpenSSH*‘
  5. 只安装最新客户端: 安装Microsoft.OpenSSH.Beta --覆盖ADDLOCAL=Client 如果您没有使用MSI安装Win32 OpenSSH,也可以使用winget
  6. 检查安装并验证版本>= 8.9.1.0: 命令ssh-代理
  7. (可选)如果您 启动-服务ssh-代理集-服务ssh-代理-StartupType自动获取-服务ssh-代理
  8. (可选)在%USERPROFILE%/.ssh/config中添加以下行: 主机服务器ForwardAgent是AddKeysToAgent是的
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72293035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档