述:部分厂商、项目在进行运维时,需通过连接内网VPN、4A平台的方式来操作内部服务器。4A平台往往上传、下载文件麻烦,连接一些VPN还需要联系厂商公司内部员工索要手机验证码,对于社恐人员简直灾难~
准备工作:
本方案可以通过开启SOCKS隧道的方式,同一批内网服务器中只要有一台拥有公网IP,即可使用个人电脑的Xshell等工具直连该批次所有服务器,本篇使用Xshell为例。
要做到这点需要拥有以下硬性条件:
1、同一批内网服务器中,至少有一台绑定了公网IP;
2、绑定了公网IP的服务器至少有一个端口对外开放,可以不是SSH端口(SSH默认22端口)。
如:假设有S1~10,共计10台服务器,其中S1绑定了公网IP,并对外开放了N个端口,其他服务器均只有内网IP。
执行步骤:
情况一:S1对外开放了SSH端口:
1、使用Xshell配置好S1服务器的地址、端口、用户名、密码,然后选 隧道 -> 添加,选择Dynamic(SOCKS4/5)。监听端口可以手动输入,写一个不在用的端口,我这里写的是1090。点击确定,并连接该服务器。
2、使用Xshell配置该批其他服务器,代理里创建并选择刚刚侦听的端口,点击连接即可。
情况二:S1没有对外开放了SSH端口,但是开启了其他端口:
假设开启了2222端口,需要进行以下操作:
1、在拥有外网访问的服务器上安装nginx
2、nginx配置HTTP端口映射,比如本机开了2222的端口,且本机的ssh端口为22(默认为22,也可能被改成了别的,是多少就转发到多少),配置好后启动/重启nginx。
3、使用Xshell配置好S1服务器的地址、端口(注意这里端口填写2222)、用户名、密码。然后选 隧道 -> 添加,选择Dynamic(SOCKS4/5)。监听端口可以手动输入,写一个不在用的端口,我这里写的是1090。点击确定,并连接该服务器。
4、该批其他服务器仍通过默认ssh端口连接,代理里创建并选择刚刚侦听的端口,点击连接即可。