日常运维工作中,经常有这样的操作:登录国内中控(一级)--->>>登录海外中控(二级)---->>>登录游戏服务器(三级)。
这样的操作非常繁琐,尤其是给目标服务器传文件时,稍不管理,中间登录的中控服务器就会挤压各种临时文件,使系统内文件分布混乱。
那么,有没有办法直接从一级服务器登录到三级服务器,或上传文件呢?
我们首先想到的办法是:配置网络代理或者写个脚本;脚本将文件上传到二级服务器,再通过session上传到三级服务器,完成后删除二级服务器文件缓存。
其实,SSH和SCP命令可以通过自身参数配置成代理连接,主要使用ssh的ProxyCommand参数,参数值格式“ssh -W %h:%p yourId@二级服务器”
从参数使用可以看出,内部主要使用ssh命令在一级和三级服务器之间进行包转发。
示例:
本地地址: 192.168.1.10
网关地址:192.168.2.10
服务器地址:192.168.3.10
命令:
scp -o "ProxyCommand ssh -W %h:%p myId@192.168.2.10" ~/test.cvs myId@192.168.3.10:/tmp/test.cvs
上述命令就是将本地(192.168.1.10)上的~/test.csv 文件通过网关(192.168.2.10)中转,上传到服务器(192.168.3.10)上的/tmp目录下。
参考:
https://www.cnblogs.com/ivistn/archive/2012/10/31/2748471.html