linux ssh代理 –快速搭建代理服务器

linux ssh代理 –快速搭建代理服务器前言:开发机器IP固定,路由上有限制,不通直连。是个很郁闷的事。有个时间在网上看到的ssh代理转发。命令功能很强大。在这我就对自己了解的画了个间图方便大家理解。本地转发、正向隧道“本机”连上“ssh服务器”,然后把”ssh服务器”能访问的机器地址和端口(当然也包括“ssh服务器”自己)镜像到”本机”的端口上。命令:ssh-L[客户端IP或省略]:[客户端端口]:[服务器侧能访问的IP]:[服

大家好,又见面了,我是你们的朋友全栈君。

前言:开发机器IP固定,路由上有限制,不通直连。是个很郁闷的事。有个时间在网上看到的ssh代理转发。命令功能很强大。在这我就对自己了解的画了个间图方便大家理解。

本地转发、正向隧道

正向代理转发
“本机”连上“ssh服务器”,然后把”ssh服务器”能访问的机器地址和端口(当然也包括“ssh服务器”自己)镜像到”本机”的端口上。

命令:

ssh -L [客户端IP或省略]:[客户端端口]:[服务器侧能访问的IP]:[服务器侧能访问的IP的端口] [登陆服务器的用户名@服务器IP] -p [服务器ssh服务端口(默认22)]

其中,客户端IP可以省略,省略的话就是127.0.0.1了,也就是说只能在客户端本地访问。服务器IP都可以用域名来代替。

举例说明:

本地IP192.168.1.2,你可以ssh到某台服务器8.8.8.8,8.8.8.8可以访问8.8.4.4,你内网里还有一台机器(192.168.1.88)可以访问你。

如果你想让内网里的另外一台电脑访问8.8.4.4的80端口的http服务,那么可以执行:

ssh -CfNg -L 192.168.1.2:8080:8.8.4.4:80 test@8.8.8.8

C表示压缩数据传输
f表示后台用户验证,这个选项很有用,没有shell的不可登陆账号也能使用.
N表示不执行脚本或命令
g表示允许远程主机连接转发端口

也就是说,ssh到8.8.8.8上,然后让8.8.8.8把8.8.4.4的80端口映射到本地的8080端口上,而且和本地192.168.1.2这个IP绑定。

内网里的另外一台机器可以通过IE浏览器中输入http://192.168.1.2:8080查看8.8.4.4的网页

反向隧道—-隧道监听远程port,突破防火墙提供服务

反向代理
本机”连上“ssh服务器”,然后把“本机”能访问的机器地址和端口(也包括”本机”自己)镜像到“ssh服务器”的端口上。

反向连接用得可能更多一些。比如你的客户端在内网,在外网是无法直接访问到的,这时用反向连接打通一条隧道,就可以从外网通过这条隧道进来了。

命令:

ssh -R [服务器IP或省略]:[服务器端口]:[客户端侧能访问的IP]:[客户端侧能访问的IP的端口] [登陆服务器的用户名@服务器IP] -p [服务器ssh服务端口(默认22)]

其中,服务器IP如果省略,则默认为127.0.0.1,只有服务器自身可以访问。指定服务器外网IP的话,任何人都可以通过[服务器IP:端口]来访问服务。当然,这个时候服务器本机也要输入外网IP:端口来访问。

举例说明:

“本机”IP 192.168.1.2,你可以ssh到外网某台服务器8.8.8.8,你内网里有一台机器192.168.1.3。

如果你想让外网所有的能访问8.8.8.8的IP都能访问192.168.1.3的http服务,那么可以执行:

ssh -CfNg -R 8.8.8.8:8080:192.168.1.3:80 test@8.8.8.8

C表示压缩数据传输
f表示后台用户验证,这个选项很有用,没有shell的不可登陆账号也能使用.
N表示不执行脚本或命令
g表示允许远程主机连接转发端口

也就是说,ssh到8.8.8.8上,然后把本地局域网内192.168.1.3的80端口映射到8.8.8.8的8080端口上,这样外网任何一台可以访问8.8.8.8的机器都可以通过8080端口访问到内网192.168.1.3机器的80端口了。

参考:
http://blog.csdn.net/linsanhua/article/details/17360369
http://www.cnblogs.com/wangkangluo1/archive/2011/06/29/2093727.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141861.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • lcd开机流程图_LCD1602程序代码及显示流程图

    lcd开机流程图_LCD1602程序代码及显示流程图描述lcd1602显示程序代码前些天弄了最小系统板后就想着学习1602的显示程序,可惜坛子里的或网上的,都没有简单的1602显示程序,无柰在网上下载了一段经过反复修改测试,终于有了下面一段代码://————————————————//-…

    2022年7月16日
    15
  • BeanUtils.populate 源码分析

    BeanUtils.populate 源码分析BeanUtilsBean propertyUtilsBean  MethodgetWriteMethod(Classclazz,PropertyDescriptordescriptor){    return(MethodUtils.getAccessibleMethod(clazz,descriptor.getWriteMethod())); …

    2022年7月26日
    9
  • modelsim-win64-10.4-se 下载、安装、破解全攻略(屡试不爽)

    modelsim-win64-10.4-se 下载、安装、破解全攻略(屡试不爽)本教程包括软件下载、破解文件下载、安装破解方法,助你一次成功。软件安装好了却不能用,想必大家都有过这样的痛苦和无奈。这款软件的破解花了我整整一个下午的时间,期间在网上找了各种方法尝试均以失败告终,差点让我放弃破解而着手去换操作系统。网上的方法多存在着疏漏和差错,所以这也是我写次教程的初衷,希望能帮到大家,少走弯路。本人使用系统声明:win864位专业版以及win1064位安装

    2022年5月24日
    160
  • 【转】【Asp.Net】asp.net(c#) 网页跳转[通俗易懂]

    【转】【Asp.Net】asp.net(c#) 网页跳转[通俗易懂]在asp.net下,经常需要页面的跳转,下面是具体的几种方法。跳转页面是大部编辑语言中都会有的,正面我们来分别介绍一下关于.net中response.redirectsever.executeserver.transfer三种页面跳转的方法:①response.redirect这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳转到任何页面,没…

    2022年7月20日
    10
  • NSGA3算法及其MATLAB版本实现

    NSGA3算法及其MATLAB版本实现NSGA3算法及其MATLAB版本实现一丶NSGA3和NSGA2的一些参考资料看懂NSGA3之前,了解的NSGA2的话更有帮助,这个博士写的带约束的NSGA2的matlab版本很不错(9个非约束的测试问题和5个带约束的测试问题),大家想了解NSGA3的最好先看看。1.ConstrainedNSGA2:https://cn.mathworks.com/matla…

    2022年5月12日
    45
  • perl正则表达式匹配后的各种变量

    perl正则表达式匹配后的各种变量[root@rwsoda203db1perl_tidb]#catp.pl#!/usr/bin/perlusestrict”subs”;usestrict;usev5.16;my$n=3;my$str=”first.<EM>PARENT</EM>LAST”;$str=~m#(<.*?>)(.*?)(</….

    2022年5月6日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号