问题描述
Remote-SSH插件在内网连接时,提示XHR Failed
错误。
原因分析:
Remote-SSH插件在连接时,会在目标服务器下的用户目录下设置一个.vscode-server文件夹并安装一些必要的文件。内网情况下无法下载这些文件导致Remote-SSH插件无法正常工作。
解决方案:
手动下载必要文件并解压到正确目录才能正常使用Remote-SSH。
Remote-SSH插件完整设置步骤如下(若只需要解决内网使用问题,跳转到第7步):
-
下载Remote-SSH插件的VSIX文件并传到内网
解释:离线情况下,VSCode可通过VSIX文件下载插件。
-
VSCode中通过VSIX方式下载扩展
-
扩展生效后,左侧菜单栏中出现Remote-SSH图标,点击图标显示Remote-SSH
-
在
插件界面
(第3步点击后的界面)点击+
,输入连接指令:ssh user@IP/Domain -A
user
是用户名,@
后跟域名或者IP地址,例如:ssh zhy@192.168.0.1 -A
-
选择存放SSH配置的文件地址,一般存放在用户目录
.ssh
目录下的config文件中 -
在
插件界面
(第3步点击后的界面)将鼠标移动到SSH TARGET
下第4步创建的连接地址上,点击后面的图标进行连接,之后输入密码就可以连接到目标服务器了
-
若需要替换目标服务器中的Remote-SSH插件相关的扩展,
VSCode
-help
-About
查看自己的Commit-id
,这个id和VScode
版本相关,复制该id,替换到下面URL的对应处,在外网访问该URL即可下载vscode-server.tar.gz文件。https://update.code.visualstudio.com/commit:
commit-id/server-linux-x64/stable
-
将vscode-server.tar.gz文件拷贝到目标服务器用户目录的
.vscode-server
目录下(例如通过MobaXterm的SSH方式连接到目标服务器以完成拷贝操作),解压:tar -zxvf vscode-server.tar.gz
注:实际文件不一定命名为
vscode-server.tar.gz
,有可能命名为vscode-server-linux-x64.tar.gz
或其他名称,你需要更改上面命令中解压命令的文件名,以vscode-server-linux-x64.tar.gz
为例:tar -zxvf vscode-server-linux-x64.tar.gz
-
进入解压后的目录
cd vscode-server
-
拷贝
vscode-server目录
的文件到bin
目录即可cp -rf * ../bin/
注意事项:
Remote-SSH反复提示输入密码问题:关闭失败的SSH连接后重新连接。