远程开发之vscode端口转发

远程开发之vscode端口转发

通过端口转发,实现在本地电脑上访问远程服务器上的内网的服务。

涉及的软件

vscode、ssh

forwarded port

在ports界面中的port字段,填需要转发的IP:PORT,即可转发远程服务器中的内网端口到本地。
操作示例图片

如果希望 VS Code 记住已转发的任何端口,请在设置编辑器 (⌘,) 中选中“Remote: Restore Forwarded Ports”或在 settings.json 中设置 “remote.restoreForwardedPorts”: true 。

实现在连接时,自动转发端口,可以将以下内容添加到~/.ssh/config文件中

# SSH config file
Host remote-linux-machine
    User myuser
    HostName remote-linux-machine.mydomain
    LocalForward 127.0.0.1:3000 127.0.0.1:3000
    LocalForward 127.0.0.1:27017 127.0.0.1:27017
    # 将【remote-linux-machine】服务器中内网的端口转发到本地,并手动配置域名到hosts中,实现通过域名访问服务器内网中的端口
    LocalForward kuboard.intranet.company:30084 172.17.0.2:80

到此就实现了通过端口转发,在本地电脑上访问远程服务器上的内网的服务的功能。

### VSCode 端口转发实现原理 #### 远程开发环境中的端口转发需求 在现代开发环境中,远程工作和跨平台开发变得越来越普遍。对于需要频繁访问远程服务器上的特定服务或应用的场景,直接在网络中开放这些服务可能带来安全风险。因此,在不影响安全性的情况下提供一种简便的方法来访问远程服务成为必要。VSCode 提供了端口转发的功能,允许开发者轻松地将本地端口映射到远程机器上的指定端口[^1]。 #### 基于SSH端口转发技术基础 为了理解 VSCode 如何实现端口转发,首先要了解 SSH 协议支持的一种称为“隧道”的特性。通过 SSH 隧道,可以从一台计算机的安全通道传输数据至另一台计算机。具体来说,`ssh -L`命令用于设置本地端口转发,它会创建一条从客户端(即运行 VSCode 的设备)指向目标主机(通常是远程Linux/Ubuntu服务器)的安全路径。这条路径可以让来自本机某个端口的数据被重定向并发送给远端对应的监听地址与端口号组合的服务实例[^5]。 #### VSCode 中的具体操作流程 当用户希望使用 VSCode远程服务器上的某项服务进行端口转发时,实际过程如下: - 用户发起请求后,VSCode 调用内置或者外部安装好的 OpenSSH 客户端工具执行相应的 `ssh -L`指令; - 此指令包含了必要的参数定义,比如要绑定的本地端口、目的IP以及远程端口等信息; - 成功建立连接之后,任何发往该本地端口的数据包都会经由已构建完成的安全隧道传送到目的地,并在那里得到处理;反之亦然——如果远程程序尝试向其自身的某一端口写入响应,则此流量也会沿相同路线返回给用户的电脑。 ```bash ssh -N -f -L LocalPort:RemoteHost:RemotePort YourUsername@RemoteServerAddress ``` 这段脚本展示了如何配置基本形式的端口转发规则。其中 `-N` 参数指示仅建立隧道而不启动交互式shell;`-f` 则让进程转入后台继续运行直到显式终止为止;最后是具体的转发设定部分,指明了三个关键要素之间的对应关系:本地待占用端口远程目标位置及其对外开放接口编号[^4]。 #### 技术细节深入探讨 除了上述高层次描述外,更深层次的技术要点涉及到了 WebSockets 和其他通信协议的应用。一旦建立了稳定的 SSH 会话作为底层支撑结构,更高层次的消息交换便可通过 WebSocket 来承载。WebSocket 是一种全双工通讯协定,非常适合用来实现实时更新等功能。在这种情况下,IDE 及其所加载的各种插件能够借助 WebSocket 同步状态变化并与远程资源保持紧密联系。此外,考虑到性能优化方面的需求,VSCode Server 设计了一套完善的架构体系,其中包括但不限于插件进程管理和调度策略等内容,从而确保整个系统的稳定性和高效运作[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随猿Fa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值