当前环境拓扑图:
服务器
用户管理海外服务器,经过公网SSH远程时,因为网络质量缘由公网丢包严重,这就致使管理员在对海外云主机进行管理时体验较差,表现形式多是因为公网丢包严重执行命令卡顿,或者SSH进程异常中断等。
针对上述需求,给出如下方案来优化此问题。网络
管理员经过使用代理服务器充当跳板机来对海外服务器进行管理。ssh
首先须要在代理服务器上启动一个socks代理服务,并将此服务的端口受权给管理员能够进行访问。
关于socks代理有各类服务能够实现,在这里咱们为了操做最轻量级就直接使用系统自带的SSH来实现此功能。
ssh -p5258 -fqND 0.0.0.0:6565 root@127.0.0.1
使用以上命令能够创建一个SSH隧道代理,如下是上述参数的含义:优化
- -p5258:因为咱们要链接的隧道服务器的ssh端口是5258,因此在此须要使用-p进行指定;
- -fqND:f表示后台认证用户名/密码无须登陆到远程主机,一般和N(不执行脚本或命令)连用,q表示禁用告警和诊断消息,D表示指定本地机器进行动态端口转发;
- 0.0.0.0:6565:表示监听在此台机器上全部IP的6565端口;
- root@127.0.0.1:表示在本地上启用代理服务,也能够换成其余服务器,特定场景特定需求。
ssh -o ProxyCommand="nc -X 5 -x 114.114.114.114:6565 %h %p" root@8.8.8.8
设置完代理服务器后,在ssh时须要指定代理服务器的IP及端口信息,最后指定要链接到的服务器便可,登陆成功后服务器会给出登陆的IP地址,或者使用who
命令进行查看,只要登陆的IP地址是代理服务器的地址表示全部配置正常。代理