Vscode ssh连接代理设置

VsCode ssh代理设置

本文适用

  1. 终端or VsCode 连接需要vpn的服务器(终端ssh走代理)
  2. 终端可以ssh连接服务器但 VsCode 无法连接
  3. 感兴趣 VsCode ssh功能的部署理念

前置

vscode已经安装完成、Remote-ssh插件已配置好,设备为 Windows+VsCode 和 需要VPN连接的Linux服务器

终端走代理

先要保证 服务器能够ssh正常连接,部分VsCode ssh失败可能仅仅因为网络问题,如何判断ssh失效是否是网络问题造成的呢:终端进行简单的ssh连接,连接失败则是网络问题(适用于VsCode无法ssh连接时网络问题排除)

ssh + usr@服务器ip

若终端ssh失败则可能是网络有以下问题

终端未走代理

区别于普通服务器的ssh配置,需要走代理的服务器多了一行 ProxyCommand设置,windows用户需要去官网下载 ncat, 并记下 ncat.exe 文件的绝对路径,我的是ProxyCommand D:\Program Files\Git\usr\bin\ncat.exe

	Host name
		HostName server-IP
	 	User 用户名
		ProxyCommand D:\Program Files\Git\usr\bin\ncat.exe -x [代理ip号]:[代理端口号] %h %p

VPN节点不稳定

进行了上面一步后若终端依旧不可以ssh连接服务器,大概率是vpn节点选择的问题。多尝试,换不同节点。

终端连接成功后,尝试使用 vscode 进行 ssh 连接

服务器端的 vscode server

为什么要在服务器端部署 vsCodeSever

原因其实很多,最直接的时减少网络延迟

图源
右侧为Vscode的ssh部署方式

右侧为vscode中ssh的实现方式
  • 本机VS Code:用户在本地计算机上运行的代码编辑器。
  • 服务器:包括远程服务器和 VS Code Server,后者是在服务器上运行的一部分 VS Code 服务,负责处理特定任务。
流程:
  1. SSH 登录:VS Code 通过 SSH 连接到远程服务器。
  2. 文件格式化请求:VS Code 向 VS Code Server 发送文件格式化请求。
  3. 文件格式化VS Code Server 在服务器端完成文件的格式化操作。
  4. 响应:完成文件格式化后,结果返回到 VS Code。
优势分析

更多的处理在远程服务器上进行,减少了传输延迟,适合高延迟网络或处理大型项目的场景。

  • 减少数据传输:当 VS Code Server 部署在服务器上时,大部分计算和处理任务都在服务器端完成,避免了频繁的数据传输,特别是在处理大文件或复杂任务时。这可以显著减少网络延迟,提高整体操作的响应速度。
  • 减少本地资源消耗:处理密集型任务(如代码分析、格式化、编译)时,使用服务器的计算资源,可以减轻本地计算机的负载,尤其对于资源有限的设备(如低配笔记本)非常有利。

如何在服务器端部署

分为离线和在线

在线部署

如果一切顺利,在线部署约等于:打开vscode\ssh配置\ssh连接 就好了,但是,笔者碰到了终端ssh连接成功、vscode连接失败的情况。在明白vscode 的ssh功能依赖 服务器端VS Code Server 的原理后,我们可以更有针对性地看连接出错时的终端报错

删除残余

尝试把服务器端的vscode-server删掉。 其原理是怀疑vsCode server的版本或配置异常、或者是部署到一半就冲突了!

服务器上排查是否有 ~/.vscode-server 隐藏文件夹
ls -a

mkdir: cannot create directory ‘/home/your_username/.vscode-server’: File exists

服务器上命令行删除

rm -rf ~/.vscode-server

若之前有尝试用离线方式部署但未成功or失效的,将在这里插入图片描述类似的文件删掉

重新连接

vscode将会在本机ssh连接服务器的同时,在已经清理完成的服务器上部署新的、合适的 vscode server

离线部署

参考如下
http://t.csdnimg.cn/jmcGW

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值