分享:记录一次Vscode 的remote ssh 使用Debug

发布 : 2020-09-01

解决Visual Studio Code 的插件 Remote-SSH 无法访问问题

摘要

台式机在经历一次 windows 10 升级之后,处于笔记本端的 Visual Studio Code (简称:vscode)无法访问台式机。经过排查发现目标台式机的%PATH%中缺失了 powershell。在目标机器上将powershell.exe所在的路径加入%PATH% 则可以正常工作。

经历

问题:windows 2004 更新之后,处在笔记本端的 vscode 无法访问处在台式端的 vscode。终端输出大量报错日志信息,报错的最后一行显示: “过程试图写入的管道不存在”。

环境:但是采用 ssh 命令却可以访问目标机器。这里初步猜测是 Remote-SSH 扩展出现了问题,因此查阅问题。总的来说是:

  1. 没有正确的配置ssh config
  2. know_hosts 不一致
  3. windows 自动更新后,会安装微软自己开发的 ssh 客户端,并且优先访问windows自己的 ssh 客户端。然而部分用户的 ssh 客户端没有写入本机的权限。

从上述第三点可以看出windows 更新的策略的问题,会破坏用户原本的设置。

在尝试上述解决方案之后,依然无法使用remote ssh 访问目标台式机。最后本人决定手动输入一遍,报错日志中提到的命令。

命令是基于 powershell 的。登录 ssh 后,发现无法从 cmd 进入 powershell。于是尝试将powershell 的路径添加到 %PATH% 中,尝试用 remote-ssh 连接目标台式机成功。

总结

开始轻率的认为是本地客户端出问题了。导致排查的方向出问题,但是实际上,ssh 是可以正常访问目标机器只能意味着ssh 能正常使用并不意味着其他方面。在开始想当然的认为 vscode remote-ssh 的插件仅仅依赖ssh。若能提前了解 remote-ssh 的依赖可以更快的定位到问题。

这个问题困扰了我有数月了,然而因为排查方向,空空的耗费许多时间。所谓选择大于努力就是这种体验吧

本文作者 : Rothleer
原文链接 : https://rothleer.github.io/2020/09/01/%E5%88%86%E4%BA%AB%EF%BC%9A%E8%AE%B0%E5%BD%95%E4%B8%80%E6%AC%A1Vscode%20%E7%9A%84remote%20ssh%20%E4%BD%BF%E7%94%A8Debug/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

博客已萌萌哒运行(●'◡'●)ノ♥
Theme - BMW | Made With 💗 | Powered by GodBMW