• ssh反向代理+正向代理


    用一台能够公网访问的host作为跳板机,转发不同端口到内网目标机的ssh端口,进而实现ssh远程登录。

    配置中将会用到的SSH参数:

    反向代理 ssh -fCNR

    正向代理 ssh -fCNL

    -g:允许远程主机连接主机(host)的转发端口;

    -f 后台执行ssh指令

    -C 允许压缩数据

    -N 不执行远程指令

    -R 将远程主机(服务器)的某个端口转发到本地主机指定的端口

    -L 将本地机(客户机)的某个端口转发到远端指定机器的指定端口

    -p 指定远程主机的端口

    准备工作

    开启ssh的转发功能,以ubuntu server12.04为例,服务器默认是安装了openssh-server的,在/etc/ssh/sshd_config末尾追加一下命令:

    GatewayPorts yes


    重启ssh

    service ssh restart

    正向代理

    正向代理的典型例子是主机(A)通过一台可以访问的主机(B)访问主机(C)提供的服务。 主机A不能直接访问主机C提供的服务,但是主机A可以访问主机B,主机B可以访问到主机C的服务,那我们可以在主机A上使用以下命令

    ssh -CNfL a_port:c_ip:c_port b_user@b_ip


    其中CNf都不是必须参数,C是对数据进行压缩,N代表不执行远程命令(尽量带上),f代表后台执行。
    主机A可以通过访问自己的a_port端口来访问主机C的c_port端口,例如主机A要通过自己的6666端口访问主机C的80端口,则需要执行一下命令

    ssh -CNfL 6666:c_ip:80 b_user@b_ip


    我们可以将问题简化一些,假设主机B的某个端口不对外提供服务,只能够主机B自己访问,那么上述命令中的主机C和主机B将是一样的,命令将变为

    ssh -CNfL a_port:b_ip:b_port b_user@b_ip
    ssh -CNfL a_port:localhost:b_port b_user@b_ip


    以上两条命令是等价的,因为在第一个端口(a_port)后面的地址(b_ip)与端口(b_port)是相对于命令最末端的主机(b_ip)来说的,如果主机A是要用主机B来代理主机B的某项服务,那么第一个端口后写的主机地址为主机B的ip或者是localhost(127.0.0.1)是没有区别的。

    可以看到正向代理是给自己代理提供服务的。

    反向代理

    反向代理与正向代理的原理产不多,都是用过ssh进行数据的传输,只是使用场景不同.反向代理的作用可以认为是把内网中的主机(A)暴露出来,以便于所有的主机都可以访问到主机A的服务

    假定我们使用一台公网可以访问的主机(B)来给主机A做反向代理,那么命令如下

    ssh -CNfR b_port:127.0.0.1:a_port b_user@b_ip


    CNf与正向代理相同,也不是必须的,在主机A上使用以上命令,即可以把主机B的b_port端口映射到主机A的a_port端口。

    举个简单的例子,主机A处于内网中,公网不能访问,在主机A上有一个http服务器,现在想让异地的朋友能够看到这个服务器上的内容,那我们就可以使用一下命令:

    ssh -CNfR b_port:127.0.0.1:80 b_user@b_ip


    b_port自己定义,不要冲突就行,之后我们通过b_ip:b_port就可以访问到主机A的http服务了。

    总结一下就是反向代理是给其他用户代理提供服务的。

    喜欢这篇文章?欢迎打赏~~

  • 相关阅读:
    iconv 文件编码相互转换
    MySQL 字符编码
    MySQL there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause同时创建多个更新当前时间戳字段 解决方法
    PHP 输出日志到文件 DEMO
    Nginx http -> https 跳转后 POST 丢失
    SSH SCP 远程密钥登录配置和服务器间的文件传输
    Mac 安装 7zip
    git pull There is no tracking information for the current branch.
    MacOS 安装配置 Laravel
    Mac OS 安装 MySQL5.7
  • 原文地址:https://www.cnblogs.com/cangqinglang/p/14595430.html
Copyright © 2020-2023  润新知