00×0、相关介绍

OpenSSHOpenBSD Secure Shell)使用 SSH 通过计算机网络加密通信的实现。

它是替换由 SSH Communications Security 所提供的商用版本的开放源代码方案。目前 OpenSSH 是 OpenBSD 的子项目。

大家都只知道 SSH 可以基于密码或密钥登录远程主机使用,但是你知道吗?其实 SSH 还可以在运用在公网服务器连接私有IP虚拟机,还可以实现命令行 SSH 代理

00×1、公网服务器连接私有IP虚拟机

试验环境为两台 CentOS 系统:

一台为公网服务器 rabbit :45.xxx.xxx.212

一台为 VirtualBox NAT 模式下的 CentOS 虚拟机 CentosA:10.0.2.15

NAT 普遍使用在有多台主机但只通过一个公有 IP 地址访问因特网的私有网络中,它允许了多台主机共享一个公用 IP 地址(即虚拟机的所有数据包最后都由网络中那台有公网 IP 地址主机转发出互联网)。

首先在 NAT 后面的虚拟机内建立端口转发,通过如下命令:

ssh -gfN -R <公网映射端口>:127.0.0.1:<本地端口> <目标公网>

命令中“SSH”参数介绍:

  • -g:允许远程主机连接到本地建立的转发端口
  • -fN:不登录不执行脚本或命令(经常连用)
  • -C:压缩数据传输(小带宽可用)
  • -R:程序级端口转发 ,“port:host:hostport”方法(必须使用)

在我们的例子中,命令如下(处于安全的原因,隐藏了远端公网地址):

# ssh -gfN -R 1111:127.0.0.1:22 45.xxx.xxx.212

接着,从公网服务器 45.xxx.xxx.212 上连接 NAT 后面的虚拟机,输入命令:

ssh -p 1111 localhost

以上从公网服务器连接到虚拟机私有 IP 实验结束,下面是运用 SSH 建立 Proxy 代理。

00×2、建立 SSH 代理

代理(Proxy),也称网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。一些网关、路由器等网络设备具备网络代理功能。一般认为代理服务有利于保障网络终端的隐私或安全,防止攻击。

图解:左边和右边的电脑在通讯时候,需要经过中间的电脑中转,而中间的那部电脑就是代理服务器。

简单的说就是 A 要访问 C,即便可以直接访问 C,但是有俩个问题:一个是安全的问题,另外还有就是“过滤问题”。

于是我们有了“代理”就是让我们 A 连接 B,由 B 去访问 C,B 最后“加密”传送给用户,最后用户就得到了想要的来自 C 的信息。

服务器端代理设置

本机输入如下命令实现 SSH 代理:

 ssh -nNT <user>@<ip> -D <port>

参数介绍:

  • -n:后台运行
  • -N:不执行远程指令
  • -T:不分配 TTY ,只做代理用
  • -D:指定代理端口

上述命令的意思是,在本地监听端口 1111,将访问到该端口的流量转发到远程服务器,远程服务器的用户凭证由命令行指定。

至此,SSH 代理设置已经完成了。后面要用代理工具完成 SSH 代理。

客户端配置

客户端使用代理设置(本人这里使用的是Chrome浏览器下的 SwitchyOmega 工具,同类代理还可以用 Firefox 浏览器下的工具 AutoProxy):

这里我们通过了代理设置,我们的浏览器和“阿里云”服务器连接完成~这样我们就可以代理上网、加速上网。甚至还可以科学上网!

00×3、总结心得

第一节希望让大家灵活运用 SSH,SSH 的功能不仅仅只是简单的远程连接部署。通过 SSH 设置,可以让任何一台机器通过 SSH 相连接的!第二篇的意义在于享受远程任何一台机器同时,还可以明白,能完成互连的 SSH。当然也可以完成代理~!

上述就是两条 SSH 运用,仅仅只是抛砖引玉。更多好玩的,需要我们自己去发现去总结去设置去享受,也是希望大家不光有宽度更多的还要有“深度”。

OpenSSH 高级运用两则的更多相关文章

  1. OpenSSH高级功能之端口转发(Port Forwarding)

    在RedHat提供的系统管理员指南中提到OpenSSH不止是一个安全shell,它还具有X11转发(X11 Forwarding)和端口转发(Port Forwarding)的功能.X11功能一般用于 ...

  2. ArchLinux 下 OpenSSH 高级运用

    00x0.相关介绍 OpenSSH(OpenBSD Secure Shell)使用 SSH 通过计算机网络加密通信的实现. 它是替换由 SSH Communications Security 所提供的 ...

  3. CentOS 下运维自动化 Shell 脚本之 expect

    CentOS 下运维自动化 Shell脚本之expect 一.预备知识: 1.在 Terminal 中反斜杠,即 "" 代表转义符,或称逃脱符.("echo -e与pri ...

  4. [NewLife.XCode]高级查询(化繁为简、分页提升性能)

    NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netcore,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和 ...

  5. 2、OpenSsh

    OpenSsh /etc/ssh/sshd_config # 配置文件 选项 Port 22 端口号 Listenaddress 0.0.0.0 OpenSSH服务器绑定的IP PermitRootL ...

  6. 两种高效的事件处理模式(Proactor和Reactor)

    典型的多线程服务器的线程模型 1. 每个请求创建一个线程,使用阻塞式 I/O 操作 这是最简单的线程模型,1个线程处理1个连接的全部生命周期.该模型的优点在于:这个模型足够简单,它可以实现复杂的业务场 ...

  7. Windows上搭建hadoop开发环境

    前言 Windows下运行Hadoop,通常有两种方式:一种是用VM方式安装一个Linux操作系统,这样基本可以实现全Linux环境的Hadoop运行:另一种是通过Cygwin模拟Linux环境.后者 ...

  8. hadoop单节点windows 7 环境搭建

    前言 Windows下运行,通常有两种方式:一种是用VM方式安装一个,这样基本可以实现全Linux环境的Hadoop运行:另一种是通过Cygwin模拟Linux环境.后者的好处是使用比较方便,安装过程 ...

  9. [转]Windows平台下安装Hadoop

    1.安装JDK1.6或更高版本 官网下载JDK,安装时注意,最好不要安装到带有空格的路径名下,例如:Programe Files,否则在配置Hadoop的配置文件时会找不到JDK(按相关说法,配置文件 ...

随机推荐

  1. CoreGraphics之CGContext绘图

    0  CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文 
1 CGContextMoveToPoint 开始画线
 2 CGCon ...

  2. Win8.1设置窗口背景颜色为护眼色

    更改注册表 window+R --->输入regedit(点击确定后进入注册表编辑器) 需要修改以下两个地方,重启电脑生效: [HKEY_CURRENT_USER\Control Panel\C ...

  3. DB天气app冲刺第二天

    烦躁 烦躁 很烦躁 从大早起就想做一个listview的列表 到晚上也没有做好.不知道为什么.决定明天去问问同学 .做不出来太影响心情了.虽然做出来东西的感觉是很好.. 另外觉得真的没有队友是挺孤独. ...

  4. 简单3d RPG游戏 之 001 生命条(一)

    1.创建一个新项目,引用如下的包: 2.将asset里的First Person Controller拖入project作为游戏角色,将其命名为Player,将mainCamera删除,这样就是用Pl ...

  5. 【综述】(MIT博士)林达华老师-"概率模型与计算机视觉”

    [综述](MIT博士)林达华老师-"概率模型与计算机视觉” 距上一次邀请中国科学院的樊彬老师为我们撰写图像特征描述符方面的综述(http://www.sigvc.org/bbs/thread ...

  6. hdu 4815 Little Tiger vs. Deep Monkey

    概率dp,有点像背包的做法: dp[i][j]代表前i个数组成的j数的概率为多少 #include<cstdio> #include<cstring> #define maxn ...

  7. DLX模板

    对于数独问题 ; //3*3数独 ; // 一格能填9个数 9*9格 +; // 9*9*4=(9+9+9)*9+9*9 (9+9+9)是9行 9列 9格 *9是9个数 9*9是81个格子 +MaxM ...

  8. ANDROID_MARS学习笔记_S01原始版_012_广播机制一

    一.简介 二.代码1.xml(1)activity_main.xml <?xml version="1.0" encoding="utf-8"?> ...

  9. 第四章 USB库介绍

    4.1 USB库函数简介 Luminary Micro公司提供USB处理器的USB库函数,应用在Stellaris处理器上,为USB设备.USB主机.OTG开发提供USB协议框架和API函数,适用于多 ...

  10. 149. Max Points on a Line

    题目: Given n points on a 2D plane, find the maximum number of points that lie on the same straight li ...