SSH使用ProxyCommand经过代理服务器远程链接其余服务器

当前环境拓扑图:
服务器

  用户管理海外服务器,经过公网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地址是代理服务器的地址表示全部配置正常。代理

相关文章
相关标签/搜索