环境配置

之前就说要搭这样一个环境,因为本地调试感觉要修改很多本地的参数什么的,怕跟Mac自带的一些配置给冲突,所以就还是想在vps上调试,然后在本地VSCode修改代码。

发现这个轻量级IDE真的是很强大,我能想到的功能,好像都已经有对应的插件了。

rmate安装

这个是之前就在vps上安装过的,应该过程中没遇到什么问题。

wget https://raw.githubusercontent.com/sclukey/rmate-python/master/bin/rmate
chmod +x ./rmate
mv ./rmate /usr/local/bin/rmate

Remote VSCode插件安装

安装好这个插件,然后重启使其生效。
Command + Shift + P输入Remote,点击Remote: Start Server
在终端连接vps:

ssh -R 52698:127.0.0.1:52698 [email protected] -i private_key  //因为我是使用**登录vps,所以要有-i参数

然后在终端(即vps中)输入指令:
rmate -p 52698 filename
VSCode就会自动打开这个文件。

原理

查了一下,主要是做了一个SSH反向连接。rmate的资料很少,都是使用方面的,没有找到介绍原理的。
接下来写的都是我理解的…以后如果发现不对的话,我会再来更正的:

在本地执行
ssh -R [服务器IP或省略]:[服务器端口]:[客户端侧能访问的IP]:[客户端侧能访问的IP的端口] [登陆服务器的用户名@服务器IP] -p [服务器ssh服务端口(默认22)]
指令,其实是建立了一个反向连接隧道,使得在ssh访问服务器的52698端口时,会被最终转发到本地的52698端口,当然这些端口都是可以随意设置的。
ssh -R 52698:localhost:52698 [email protected]

我感觉应该是vps通过执行rmate -p 52698 filenamefilename文件内容以某种形式通过52698端口发送,然后52698ssh 22端口之间有个映射关系,这些文件又从22端口发送给本地与22端口建立ssh连接的端口(图中的51127),然后这个端口再将文件内容发送到本地的52698端口,VSCode的插件负责对这个端口接收到的数据进行处理,从而将传输过来的内容显示到文件上。

抓取了一下在vps执行rmate之后的流量包。
VSCode远程编辑

????????也看不出来啥东西。
VSCode远程编辑

这个图是在发起SSH反向连接时的连接情况,和关闭SSH反向连接后的连接情况。

SSH反向连接经常被用来做内网穿透,网上搜这个的时候会看到很多介绍内网渗透的具体过程的。emm…按那个说的意思,应该是在本地执行了SSH -R指令之后就可以在VPS上请求SSH连接本地了。但是我试了一下不行…不知道是哪里的问题,没有再深究了。

(这个原理介绍的好草率。????????)

知乎内网穿透:在公网访问你家的 NAS

相关文章:

  • 2021-07-10
  • 2022-12-23
  • 2022-12-23
  • 2021-07-22
  • 2021-07-29
  • 2021-08-27
  • 2021-05-19
猜你喜欢
  • 2021-06-22
  • 2022-12-23
  • 2022-12-23
  • 2021-10-24
  • 2022-01-11
  • 2021-08-17
  • 2022-12-23
相关资源
相似解决方案