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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 深挖P2P传输技术,升级与创新并举

    深挖P2P传输技术,升级与创新并举你用过P2P传输吗?现在的P2P传输可以说是继局域网、ftp、http之后最广泛使用的文件分享和传播途径,被众多企业运用在工作中。P2P传输,全称“点对点传输”,是一种文件即时传输方式,目标是让所有客户端都能提供资源,包括带宽、存储空间、计算能力。P2P传输技术有很多应用,包括共享各种格式音频、视频、数据等。**P2P传输技术是如何实现即时传输?为什么P2P传输可以被众多企业接受?**本文,我们将带着这两个问题出发,深挖P2P传输技术。一、一张图看懂P2P传输技术传统的http传输是服务器上直接复制

    2022年7月16日
    16
  • python偏函数理解_python中radians函数

    python偏函数理解_python中radians函数什么是偏函数partialpython中提供一种对于函数固定属性的函数偏函数的作用把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数偏函数的语法使用偏函数必须先导入from

    2022年7月31日
    6
  • 用SqlBulkCopy批量安插数据时提示来自数据源的 String 类型的给定值不能转换为指定目标列的类型 int…

    用SqlBulkCopy批量安插数据时提示来自数据源的 String 类型的给定值不能转换为指定目标列的类型 int…dr[“description”]=ds.Tables[0].Rows[i][“组织描述”].ToString();dr[“groupuser”]=ds.Tables[0].Rows[i][“组织成员”].ToString();dr[“userid”]=AMSession.LoginUser…

    2022年7月20日
    19
  • 学习 Spring Boot 知识看这一篇就够了

    学习 Spring Boot 知识看这一篇就够了从2016年因为工作原因开始研究SpringBoot,先后写了很多关于SpringBoot的文章,发表在技术社区、我的博客和我的公号内。粗略的统计了一下总共的文章加起来大概有六十多篇了,其中一部分是在技术社区做的系列课程。我在写文章的时候将文章中的示例提取出来,作为开源代码分享了出来让大家以更方便的方式去学习(https://github.com/ityouknow/spri…

    2022年7月15日
    20
  • vue服务器端渲染(SSR)实战

    vue服务器端渲染(SSR)实战

    2021年6月7日
    120
  • linux串口驱动分析

    linux串口驱动分析

    2021年11月30日
    44

发表回复

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

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