connect server by Easy connect
本文最后更新于:6 小时前
引言
公司正式的服务器使用了深信服,本文介绍深信服服务器的连接方法
连接正式服务器需要的vpn
软件为EasyConnect,这个软件第一坑的地方就是官方下载需要登录深信服社区;我直接拒绝
后面我找到腾讯的下载地址:EasyConnect下载:腾讯软件下载
第二个不便的地方是开启VPN
后本机所有的外网都没了,在找EasyConnect的时候,我意外发现了这个开源项目:docker-easyconnect
本文主要使用此项目
默认的从客户端(A)连接到服务器(B)的方法是直接连接
开启EasyConnect后AB组成了一个局域网,导致A也没有网络了
而**docker-easyconnect**的作用是添加一个A1和服务器B通讯,而本机A只用和A1通讯,进而可以自由访问外网
参照网上的攻略:用docker封印EasyConnect并连接远程桌面和数据库 - Jortana的文章 - 知乎
可以在本机的docker实现这样的功能,攻略中的A1就是本机docker环境,也可以是wsl
但是我的PC没有docker,于是将A1独立出来,放到另外的测试服务器上
实际上A1的作用就是堡垒机,本文也是创建一个堡垒机.
配置完成后实现的功能:
- 本机可以百度搜索的同时连接深信服服务器
- 局域网多个客户端(终端)可以同时连接到服务器
- 可以直接使用
ssh
连接正式服务器 - 可以直接连接到正式服务器上的任意本地服务比如数据库,因此就有直接debug正式服务的能力
解决方案
首先,参照官方方法安装安装docker-easyconnect
这里给出我的命令:
1 |
|
需要注意的是,知乎教程中用的是docker desktop
,因此socket
服务IP填的127.0.0.1
,而我这里需要从外部访问测试服务器A1
,因此1080
端口的IP需调整为运行docker服务的地址,即192.168.1.101
假如一切正常,能看到user "ssss" login successfully!
登录成功的提示
配置Clash
服务
还是可以参照知乎教程中Clash
的配置方法,将IP改为192.168.1.101
即可
我这里因为用到了订阅,因此使用Parsers
1 |
|
其中的prepend-rules
我设置了固定的IP192.168.0.11
,此为服务器IP地址;因为本地网段和服务器的网段会有冲突,因此手写了规则,如果网段不同则不需要
配置好后Update
订阅即可看到Proxies
点击Check
会发现Timeout
,实际不影响
假如Clash
的配置遇到问题可以看前文使用clash代理SSR的内网请求
配置Xshell
ssh
的连接及正式服务器的服务连接使用xshell
的功能
ssh连接服务器
假如xshell
直连正式的服务器没问题可以跳过;我这里因为网段冲突及服务器本身是通过Clash
连接的,因此需要额外配置
打开配置好的xshell
的Session
配置,右键Properties(属性)
→Proxy(代理)
→Browse(浏览)
新增一个
Type(类型)
选Sockes5
Host
为docker-easyconnect服务(A1)的地址
ssh
连接成功后可以在SSH Channel List(隧道窗格)
中看到连接状态
SSH Channel List
可以通过在底部快速命令处右键打开
使用ssh tunnel创建 Outgoing转移规则
转移规则介绍可查看:Xshell本地转移规则讲解
此设置的目的是将服务器的端口映射到本地,比如将服务器B上面5432
端口的pgsql
服务映射到本地5234
,这样可以直接用DataGrip
等数据库工具设置localhost:5234
直连正式数据库
将上面的创建的SSH
Session
复制并打开Properties(属性)
→SSH
→Tunneling(隧道)
新增一个
Type(类型)
选择Local(Outgoing)
Sourse Host(源主机)
填localhost
端口 5234
Destination Host(目标主机)
填正式上需要访问的服务IP和端口
创建完开启Session
连上服务器后可以看到Forwarding Rules(转移规则)
的状态为Open
SSH Channel List
可以通过在底部快速命令处右键打开
非127.0.0.1
连接正式环境毕竟还是比较危险,所以我只在每次使用的时候开启docker-easyconnect服务,使用完毕立即停止