【VScode】Remote-SSH XHR failed无法访问远程服务器

问题概述

当使用VScode连接远程服务器时,往往需要使用Remote-SSH这个插件。而该插件有一个小bug,当远程服务器网络不佳时容易出现。

在控制台会出现下述语句:

复制代码
Resolver error: Error: XHR failed at y.onerror (vscode-file://vscode-app/d:/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:77:1261)

原因与解决方法

原因

该插件在连接远程服务器时,插件会在服务器端自动运行一个脚本。该脚本的主要内容是检查服务器的vscode-server的运行情况,若服务器端不能运行,则会自动下载。而当服务器网络不佳时,下载往往会超时,导致连接失败。

解决方法

懂了报错的原因,那就可以从中找出解决方法。即手动在本地下载安装包,然后手动传到服务器端。这样是可以解决这个问题的,虽然不是很优雅。

步骤

  1. 通过其他SSH等方式(如:Xshell),进入远程服务器的Terminal。

  2. 在服务器端,进入下面的目录,获取commit id。

    bash 复制代码
    $ ls ~/.vscode-server/bin
    2ccd690cbff1569e4a83d7c43d45101f817401dc

    在这里,我的commit id就是2ccd690cbff1569e4a83d7c43d45101f817401dc。

  3. 手动下载出问题的包(tarball),注意下面的COMMIT_ID要替换成自己在上一步得到的commit id。

    如我的稳定版链接就是:https://update.code.visualstudio.com/commit:2ccd690cbff1569e4a83d7c43d45101f817401dc/server-linux-x64/stable

  4. 下载后会得到一个vscode-server-linux-x64.tar.gz,将其通过sftp等方式传到服务器上。路径:~/.vscode-server/bin/COMMIT_ID/vscode-server-linux-x64.tar.gz

  5. 在服务器端进入该路径,解压。

bash 复制代码
$ cd ~/.vscode-server/bin/$COMMIT_ID
$ tar -xvzf vscode-server-linux-x64.tar.gz --strip-components 1
  1. 重新使用VScode进行连接。

参考:

1\] https://stackoverflow.com/questions/56718453/using-remote-ssh-in-vscode-on-a-target-machine-that-only-allows-inbound-ssh-co \[2\] https://github.com/microsoft/vscode-remote-release/issues/2792 \[3\] https://github.com/microsoft/vscode-remote-release/issues/3349

相关推荐
qq_4798754338 分钟前
X-Macros(1)
linux·服务器·windows
jun_bai2 小时前
python写的文件备份网盘程序
运维·服务器·网络
Warren983 小时前
Python自动化测试全栈面试
服务器·网络·数据库·mysql·ubuntu·面试·职场和发展
欢喜躲在眉梢里3 小时前
CANN 异构计算架构实操指南:从环境部署到 AI 任务加速全流程
运维·服务器·人工智能·ai·架构·计算
云飞云共享云桌面4 小时前
无需配置传统电脑——智能装备工厂10个SolidWorks共享一台工作站
运维·服务器·前端·网络·算法·电脑
福尔摩斯张4 小时前
《C 语言指针从入门到精通:全面笔记 + 实战习题深度解析》(超详细)
linux·运维·服务器·c语言·开发语言·c++·算法
虚伪的空想家5 小时前
arm架构服务器使用kvm创建虚机报错,romfile “efi-virtio.rom“ is empty
linux·运维·服务器·javascript·arm开发·云原生·kvm
深藏bIue5 小时前
linux服务器mysql目录下的binlog文件删除
linux·服务器·mysql
QQRRRRW5 小时前
Tailwind+VScode (Vite + React + TypeScript) 原理与实践
vscode·react.js·typescript
虾..5 小时前
Linux 进程状态
linux·运维·服务器