SSH端口转发
来源:互联网 发布:java 保留小数点2位 编辑:程序博客网 时间:2024/04/28 12:19
SSH端口转发分为两种,一种是本地端口转发,又称为本地SSH隧道。一直是远程端口转发。SSH端口转发,还必须指定数据传送的目标主机,从而形成点对点的端口转发。
本地端口转发
假定有三台主机A、B、C。由于种种原因(无论是防火墙还是路由原因),AC两台主机之间无法连通。但是B却可以和A、C连通。这时候就可以用本地端口转发来实现A和C通过B来连通。
A 192.168.7.27
B 192.168.6.19
C 192.168.30.68
6网段和7网段、30网段都相通,但是7网段和30网段不通,现在需要从7网段访问30网段的一个web服务,可以通过本地端口转发来实现。首先确保A、B的ssh服务都开启了允许转发:GatewayPorts yes、AllowTcpForwarding yes
在A上面执行下面的命令:
1
ssh
-l
test
-L 192.168.7.27:59000:192.168.30.68:80 192.168.6.19
参数-L后面总共有四个用冒号分割的值,分别是'本地地址:本地端口:目标主机:目标主机端口'。这条命令的意思,就是指定SSH绑定本地192.168.7.27的59000端口,然后指定 192.168.6.19将所有的数据,转发到目标主机192.168.30.68的80端口。
如此,我们只要在A上连接A本地地址的59000端口,就等于连上了192.168.30.68的80端口。
1
curl http://192.168.7.27:59000/
这种本地端口转发适合于A是企业局域网机器,B、C均为广域网上的有独立公网IP的机器,但是企业的防火墙阻止了A和C直接的通讯,但是却允许A和B通讯,这样A就可以通过B和C进行通讯。
远程端口转发
假定有三台主机A、B、C。A是企业内部局域网的机器,B是企业内部一台具即有私网IP又有公网IP的服务器(类似网关),C是Internet上具有公网IP的服务器,A可以直接连接到C,B可以直接连接A(内网),也可以直接连接C(公网),但是由于A在内网,所以C不能直接连接A,但是C可以通过B连接A。
A 10.1.6.234
B 114.80.130.88/10.1.10.1
C 119.75.218.77
B 114.80.130.88/10.1.10.1
C 119.75.218.77
在B上执行以下命令:
1
ssh
-l taomee -p 58000 -R 10.1.10.1:59000:10.1.6.234:80 119.75.218.77
在C上执行以下命令:
1
curl http://10.1.6.234
- ssh端口转发
- SSH 端口转发
- SSH 端口转发
- FW: SSH端口转发
- 实战ssh端口转发
- SSH端口转发
- ssh 端口转发
- 实战 SSH 端口转发
- 实战SSH端口转发
- SSH 端口转发
- 实战 SSH 端口转发
- SSH端口转发
- SSH端口转发
- ssh plink 端口转发
- 实战 SSH 端口转发
- 实战 SSH 端口转发
- 实战 SSH 端口转发
- 实战 SSH 端口转发
- 表达式即编译器(也许.Net代码还可以这么写)
- 真正高效的SQLSERVER分页查询
- 手机开发中的AP与BP的概念
- ssh框架中一些jar包的作用
- Android常用URI收藏
- SSH端口转发
- C# WebBrowser强制使新窗口网页只在WebBrowser打开
- Hausdorff距离
- 表示16进制的字符串转化到 byte*
- [Qt教程] 第31篇 网络(一)Qt网络编程简介
- Pascal's Triangle II
- fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 去掉文本的特殊符号,换行
- Ruby on Rails中select使用方法