SSH隧道——实现端口转发(临时用挺方便)
来源:互联网 发布:行知高级技工学校 编辑:程序博客网 时间:2024/05/29 12:40
1、ssh端口转发?
有没有这种需求,我在家里需要访问公司的某个服务。或者公司网络管的严,不能随意访问某些网站。
ssh转发就能实现这样的需求。它能建立隧道,把数据包在内网和外网之间进行传递,减少防火墙规则在你身上的作用。
注:这个隧道用的还是不太爽,直接上vpn用着才爽(我前边写过自己看下,看了就会自己访问google了。能自己组建局域网了)
2、实战:
2、1 本地转发:在本地这台机器上(执行这条命令的机器上)监听一个端口,然后所有访问这个端口的数据都会通过ssh隧道,被传送到远端机器上的指定端口(服务)
注意:上图中的命令是错的,并且还需要额外的步骤才能实现这种转发功能。
ssh -g -L 6300:123.57.28.238:80 root@123.57.28.238
6300是执行这条命令的机器上的绑定端口,123.57.28.238:80是远程机器上的80端口(我就通过内网机器的6300端口把数据包从ssh隧道传到123.57.28.238:80服务上去),而隧道是本地和远程root@123.57.28.238建立的连接。
这样你就可以从公司内网通过那个绑定6300端口的机器访问123.57.28.238这台电脑的80端口。
-g 参数是为了能为内网中的其他用户也转发数据包到123.57.28.238:80上。默认是不为其他服务器转发的。
或者修改/etc/ssh/ssh_config 文件打开GatewayPorts=yes 也可以开启为其他用户转发的能力(记得重启sshd服务才会生效:/etc/init.d/sshd restart)。
例如:打开浏览器输入http://192.168.99.200:6300 ###注意换成你的上边那台机器的ip地址。这样你就可以逃过运维设置的防火墙。
2、2远程转发:在公网的某台机器上监听一个端口,这样你就可以通过公网的ip访问你们公司的某个机器上的服务。
记得/etc/ssh/sshd_config文件中GatewayPorts=yes(重启sshd服务,/etc/init.d/sshd restart)。
执行命令:ssh -R 6300:192.168.1.200:80 root@123.57.28.238 后就可以实现,
外网通过123.57.28.238那台机器的6300端口访问到公司内网的某台机器。(这里是192.168.1.200:80)端口。
例如:打开浏览器输入:http://123.57.28.238:6300 即可。
附加:这个还是很实用的,尤其是临时需要连接到公司内网的时候,比如连接mysql服务,httpd服务。ftp服务就算了吧。还是自己整个vpn(我前边写过vpn的搭建)
- SSH隧道——实现端口转发(临时用挺方便)
- SSH端口转发(隧道)
- SSH端口转发(隧道)
- SSH端口转发(隧道)
- 建立SSH隧道(SSH端口转发)
- 建立SSH隧道(SSH端口转发)
- 建立SSH隧道(SSH端口转发)
- 通过 SSH 实现 TCP / IP 隧道(端口转发)
- 通过 SSH 实现 TCP / IP 隧道(端口转发)
- SSH隧道技术(端口转发,socket代理)
- SSH隧道:远程操作与端口转发
- 【SSH隧道】端口转发,socket代理
- SSH隧道技术----端口转发,socket代理
- SSH隧道远程端口转发配置方法
- SSH隧道技术----端口转发,socket代理
- OpenSSH 仅用于端口转发(仅使用SSH隧道,禁止Shell)
- 使用SSH反向隧道进行内网穿透(远程端口转发)
- SSH的三种端口转发(Port forwarding)/ 隧道协议概要
- 向jQuery函数传递多个参数
- AtCoder Beginner Contest 056 题解挖坑
- Linux的常用shell命令技巧集
- [06]流程控制语句
- JavaSE基础之注解的使用
- SSH隧道——实现端口转发(临时用挺方便)
- PHP版微信公众平台搭建与开发(PDF完整版+视频教程+代码)
- 分金子(奇虎360 2017春招真题)
- 【Redis】【运维】搜狐视频(sohu tv)Redis私有云平台 http://cachecloud.github.io/
- 基于MTK平台的Android预制语音信箱号码
- STL
- MYSQL 加锁以及死锁分析
- call与apply
- 关于mysql数据库的utf8编码问题