zoukankan      html  css  js  c++  java
  • ArchLinux 下 OpenSSH 高级运用

    00x0、相关介绍

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

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

    大家都只知道SSH可以基于密码或密钥登录远程主机使用,但是你知道吗?

    其实SSH还可以在运用在公网服务器连接私有IP虚拟机,还可以实现命令行SSH代理

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

    试验环境:俩台 CentOS 系统,一台为 NAT 模式下虚拟机 :10.0.2.15 ; 以及一台为公网服务器 :45.xxx.xxx.212

    测试服务器  IP 地址为:45.xxx.xxx.212


     VirtualBox NAT 模式下的 CentOS 虚拟机。

    NAT普遍使用在有多台主机但只通过一个公有 IP 地址访问因特网的私有网络中,允许了多台主机共享一个公用 IP 地址。

    (即虚拟机的所有数据包最后都由网络中那台有公网 IP 地址主机转发出英特网)

    测试虚拟机  IP 地址为:10.0.2.15  

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

    虚拟机命令中“SSH”参数介绍:

    -g:允许远程主机连接到本地建立的转发端口

    -fN:不登录不执行脚本或命令(常连用)

    -C:压缩数据传输(小带宽可用)

    -R:程序级端口转发 ,“port:host:hostport”方法(必须使用)


    接着,测试服务器45.xxx.xxx.212

    输入命令 ssh -p <port> localhost

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


    00x2、建立公网命令行下SSH代理

    操作步骤:本机输入实现ssh代理ssh -nNT <user>@<ip> -D <port> (下有参数介绍)

    参数介绍:

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

    -n:后台运行

    -N:不执行远程指令

    -T:不分配 TTY ,只做代理用

    -D:指定代理端口 


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

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


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

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

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

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

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

    4、总结心得

    第一篇过程是client开放了1111端口与22端口server连接。第二篇过程是server开放了1111端口给client连接,数据由server代理转发。

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

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

  • 相关阅读:
    Django测试开发-20-settings.py中templates配置,使得APP下的模板以及根目录下的模板均可生效
    Django测试开发-19-auth模块之session,cookie
    Django测试开发-19-引入xadmin
    Django测试开发-17-报错:No module named 'django.contrib.staticfiles.templatetags'
    Django测试开发-16-ImportError: cannot import name 'six' from 'django.utils'
    Django测试开发-15-django.utils.encoding未发现 python_2_unicode_compatible包
    Django测试开发-14-数据库表设计:多对多,一对一,一对多
    Django测试开发-13-优化表单提交(GET、POST、登录、注册)
    Django测试开发-12-优化admin (2020-03-13 18:57)
    Django测试开发-11-返回json数据
  • 原文地址:https://www.cnblogs.com/itxdm/p/ssh.html
Copyright © 2011-2022 走看看