首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >远程-SSH找不到代理

远程-SSH找不到代理
EN

Stack Overflow用户
提问于 2019-07-22 15:03:13
回答 1查看 95关注 0票数 0

我正在尝试让远程ssh与ssh-agent一起工作,从Windows7桌面到CentOS7服务器。

我使用的是Git for windows包中的ssh、ssh-add和ssh-agent。在cmd提示符下,这一切都运行得很好,我可以"ssh-add -l“并查看密钥,我可以运行"ssh”,它运行起来没有任何问题,也不需要密码:

代码语言:javascript
复制
C:\Users\gnb>"c:\Program Files\Git\usr\bin\ssh-add.exe" -l
4096 SHA256:zg2IR6OlPwCGP8SzcbriXIQjth5zuDc9rbO6uaNPmcU gnb@VDI028-MEL (RSA)

C:\Users\gnb>ssh vdi ls
Desktop
tsclient
wkspace

C:\Users\gnb>

在VS-Code中,我不能让它工作。在VS-Code Terminal中运行完全相同的ssh-add命令似乎找不到代理:

代码语言:javascript
复制
C:\Users\gnb>"c:\Program Files\Git\usr\bin\ssh-add.exe" -l
Could not open a connection to your authentication agent.

VS-Code中的实际远程功能或多或少可以正常工作,但会一直停下来询问密码。

这里缺少什么?为什么vs-code环境不能连接到ssh-agent?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-23 06:51:02

好的,我已经花了几个小时来处理这个问题,我想我知道发生了什么。

只有当cmd窗口与用于启动代理的cmd窗口相同时,它才能在cmd中工作。打开一个新的cmd窗口,然后ssh会得到与启动vs相同的消息-菜单中的代码-找不到代理。在Win7上,git/ssh附带的start- ssh -agent脚本似乎正在设置一些环境变量或ssh客户端需要的一些环境变量。这确实有道理,Unix ssh-agent也是如此,但我显然不习惯用这些术语来思考windows应用程序。

start-ssg-agent脚本似乎还会将环境变量设置为指向一个正在运行的现有代理,否则将创建一个新代理。所以一个2行的批处理文件

代码语言:javascript
复制
start-ssh-agent
code

将可靠地启动带有ssh-agent的VS Code。如果您在ssh配置中命名标识文件,vs-code会在需要时将它们添加到代理中。否则,您需要手动将密钥添加到代理中,或者回退到一直输入密码。

怀疑更好的解决方案是在Win10上使用ssh-agent作为服务,这意味着VS-代码在从菜单运行时应该能找到代理。但我不能测试这个。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57140676

复制
相关文章

相似问题

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