当前环境拓扑图:

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

SSH使用ProxyCommand通过代理服务器远程连接其他服务器的更多相关文章

  1. Mac里用终端ssh远程连接Centos服务器

    在mac终端下输入 ssh -l root *.*.*.* 就可以远程连接Centos服务器了,端口没变还是:22 如果改变端口用下面方法输入: ssh -p 448(你改变的端口) -l root( ...

  2. mac 通过 终端 ssh 远程连接 centos 服务器

    mac 通过 终端 ssh 远程连接 centos 服务器 在终端下输入 ssh -l root 204.74.*.*      就可以连接了,这是端口没变的情况,还是原来的22 ssh -p 448 ...

  3. widows本地-xshell实现远程连接linux服务器图形界面

    本地环境远程连接linux图形界面,常用的实现工具有,VNC.Puty.Xshell等,这里我们用的xshell manager: Xmanager简介:Xmanager是一个运行于 Windows平 ...

  4. widows终端远程连接Linux服务器

    一.前言 为什么不是远程连接Linux服务器? 因为我不会,远程连接window我就用电脑自带的“远程桌面连接”. 以下所述都是在CentOS操作系统下的. 服务器刚换成Linux的时候很迷茫,感觉无 ...

  5. vscode远程连接linux服务器,可视化绘图

    vscode远程连接linux服务器 想要实现的功能和解决方案 实现的功能: windows下直接使用远程linux服务器的python环境和文件来编写和运行py文件, 实时的编写py文件,和可视化绘 ...

  6. Sublime 远程连接 Linux服务器

    Sublime是一款强大的编辑器,它的强大体现在它强大的插件. 要实现Sublime 远程连接 Linux服务器,需要使用插件SFTP. 一. 插件安装 用Package Control安装插件按下C ...

  7. Window系统远程连接Linux服务器(非桌面系统)

    Window系统远程连接Linux服务器(非桌面系统) Window系统远程连接Linux服务器(非桌面系统),步骤: 第一步:下载Xshell远程登录软件:第二步:设置Linux服务器的IP.端口. ...

  8. ssh远程连接linux服务器并执行命令

    详细方法: SSHClient中的方法 参数和参数说明 connect(实现ssh连接和校验) hostname:目标主机地址 port:主机端口 username:校验的用户名 password:登 ...

  9. Windows 上的 SSH?使用 PowerShell Remoting 远程管理 Windows 服务器

    作者:陈计节 个人博客:https://blog.jijiechen.com/post/powershell-remoting/ 在 Linux/Unix 世界里 SSH 是个好东西,SSH 是 Se ...

随机推荐

  1. wcf callback在主线程被调用

    记得当时往wcf迁移了部分service以后,tester发现有时候系统会没有任何反应,cpu占用倒是没有问题,可就是做不了事情. 感觉是哪里死锁了,但也不是每次都能再现,后来发现如果把callbac ...

  2. 修改官方发行openstack镜像的cloud-init登录方式为账号密码登录

    openstack使用的镜像多为qcow2格式,各个发行商也开源了针对openstack制作的镜像.但是这些镜像的登录方式都是注入用户名和密码的方式,就是说不能够直接通过账号和密码登录.那么如何将一个 ...

  3. hw笔试题-02

    #include<stdio.h> #include<string.h> typedef struct { char *mem; char len; }m_table_t; i ...

  4. Pycharm2019.2.4专业版激活

    Pycharm2019.2.4专业版激活 IDE是开发者创建程序时使用的的软件包,它通过简单的用户界面集成多个高度关联的组件,从而最大化提升编程体验和生产效率:本质上,IDE是一种改进代码创建.测试和 ...

  5. ROS机器人路径规划介绍--全局规划

    ROS机器人路径规划算法主要包括2个部分:1)全局路径规划算法:2)局部路径规划算法: 一.全局路径规划 global planner ROS 的navigation官方功能包提供了三种全局路径规划器 ...

  6. 【UOJ#62】【UR #5】怎样跑得更快(莫比乌斯反演)

    [UOJ#62][UR #5]怎样跑得更快(莫比乌斯反演) 题面 UOJ 题解 众所周知,\(lcm(i,j)=\frac{ij}{gcd(i,j)}\),于是原式就变成了: \[\sum_{j=1} ...

  7. java架构之路(mysql底层原理)Mysql之Explain使用详解

    上篇博客,我们详细的说明了mysql的索引存储结构,也就是我们的B+tree的变种,是一个带有双向链表的B+tree.那么我今天来详细研究一下,怎么使用索引和怎么查看索引的使用情况. 我们先来简单的建 ...

  8. 嵌入式Linux+NetCore 笔记一

    记录嵌入式Linux+NetCore培训中遇到的一些问题以及解决方法 十一放假期间发现园里大神大石头(NewLife团队)开了一个嵌入式Linux+NetCore培训,就报名参加了.更幸运的是,我刚好 ...

  9. C# 嵌套循环

    一.简介 嵌套循环:while.for和do...while循环使用一个或者多个嵌套. 二.实例 输出九九乘法表(循环的嵌套) //乘法口诀 for (int i = 1; i <= 9; i+ ...

  10. SQL Server like 字段

    参考资料:Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "SQL_L及由于排 ...