解决 VS Code ssh-remote 连接时因 Clash 导致的 XHR failed 报错

作者:4042024.04.09 11:38浏览量:23

简介:当使用 VS Code 的 ssh-remote 扩展连接远程服务器时,可能会因为 Clash 代理导致 XHR failed 报错。本文将介绍一种解决方法,帮助你在使用 Clash 的同时顺利连接远程服务器。

在使用 VS Code 的 ssh-remote 扩展连接远程服务器时,有时可能会遇到由于 Clash(一款流行的网络代理工具)导致的 XHR failed 报错。这个问题通常是由于 Clash 代理设置不当,导致 VS Code 无法正确建立与远程服务器的通信。下面是一种可能的解决方法:

1. 确认 Clash 代理设置

首先,确保 Clash 的代理设置正确。在 Clash 的配置文件中,找到代理规则部分,确保远程服务器的 IP 地址或域名没有被错误地代理。

2. 配置 VS Code 代理设置

如果 Clash 代理设置正确,但仍然出现 XHR failed 报错,可以尝试在 VS Code 中配置代理设置。

  1. 打开 VS Code。
  2. 点击左侧菜单栏的扩展按钮(方块的图标),搜索并安装 “Remote - SSH” 扩展。
  3. 安装完成后,在 VS Code 的设置(快捷键 Ctrl+,)中搜索 “remote.SSH.useLocalServer”。
  4. 将 “remote.SSH.useLocalServer” 的值设置为 false。
  5. 重启 VS Code。

3. 使用 SSH Config 文件

如果上述步骤仍然无法解决问题,可以尝试使用 SSH Config 文件来配置连接设置。

  1. 在你的用户目录下创建一个名为 ~/.ssh/config 的文件(如果文件已存在,请直接编辑)。
  2. config 文件中,为你要连接的远程服务器添加以下配置:
  1. Host your_remote_server
  2. HostName your_remote_server_ip
  3. User your_username
  4. Port your_ssh_port
  5. ProxyCommand ssh -q -W %h:%p your_clash_gateway_ip

注意替换 your_remote_serveryour_remote_server_ipyour_usernameyour_ssh_portyour_clash_gateway_ip 为你的实际值。

  1. 保存并关闭 config 文件。
  2. 在 VS Code 中,尝试使用 ssh-remote 扩展连接远程服务器。

4. 检查网络连接和防火墙设置

如果上述方法仍然无法解决问题,可能是由于网络连接或防火墙设置导致的。确保你的网络连接正常,并且远程服务器的防火墙设置允许来自你的 IP 地址的 SSH 连接。

总结

在使用 VS Code 的 ssh-remote 扩展连接远程服务器时,由于 Clash 代理导致的 XHR failed 报错可以通过检查 Clash 的代理设置、配置 VS Code 的代理设置、使用 SSH Config 文件以及检查网络连接和防火墙设置来解决。希望以上方法能帮助你顺利连接远程服务器。