ssh 反向隧道访问内网机器
来源:互联网 发布:淘宝卖家会人肉买家吗 编辑:程序博客网 时间:2024/05/09 06:18
有时候我们需要从公网访问内网的机器。现在一般家里都会有个路由器,路由器一般都会带防火墙,所以从墙外要访问内部的机器,都需要设置防火墙,做端口映射。
今天我看到ssh有一个有趣的功能,可以在不设置端口影射的情况下直接建立一个隧道,允许从外部访问内网的机器。
假设我们有两台机器,一台在内网中,IP是192.168.1.2,命名为dest;另一台在公网上,地址是pub.server.net,命名为src。我们需要从pub.server.net去访问内网那台192.168.1.2.
一、从dest发起ssh连接到pub.server.net,建立一个反向隧道
ssh -R 19999:localhost:22 user@pub.server.net
二、从src发起ssh连接
ssh localhost -p 19999
因为之前dest到src的ssh反向隧道建立之后,src上的本地19999端口就被转发到dest的22端口了,所以上面这个ssh命令就建立了从src到dest:22的连接。
其中第一步可以加上-fN参数,这样就可以把ssh进程放到后台运行,且无需打开服务器端的shell。
本文参考:
http://my.oschina.net/Thinkeryjgfn/blog/177283
示例脚本:
自动开启反向脚本
#!/bin/bashif [ $# -ne 3 ]then echo "$0 <server ipaddr> <passwd> <src_port>" exit 1fiDECT_IPADDR=localhostDECT_POAT=22SRC_IPADDR=$1SRC_USER=ginoSRC_PASSWD=$2SRC_PORT=$3/usr/bin/expect -c " set timeout 10 spawn ssh -fN -R $SRC_PORT:$DECT_IPADDR:$DECT_POAT $SRC_USER@$SRC_IPADDR expect { \"*(yes/no)\" {send \"yes\r\"; exp_continue} \"*password\" {send \"$SRC_PASSWD\r\";exp_continue} \"*\$ \" {send \"bash\r\"; interact} }"##参数说明## server_ipaddr 可连接的公网IP## passwd 连接公网ssh服务密码## src_port 远程映射的端口
自动连接映射好的机器脚本
#!/bin/bashif [ $# -ne 3 ]then echo "$0 <ipaddr> <passwd> <src_port>" exit 1fiSERVER_IPADDR=$1SERVER_USER=ginoSERVER_PASSWD=$2SRC_PORT=$3/usr/bin/expect -c " set timeout 10 spawn ssh $SERVER_USER@$SERVER_IPADDR expect { \"*(yes/no)\" {send \"yes\r\"; exp_continue} \"*password\" {send \"$SERVER_PASSWD\r\";exp_continue} \"*\$ \" {send \"bash\r ssh localhost -p $SRC_PORT\r\"; interact} }"## 参数说明## ipaddr 上一个脚本中的公网IP## passwd 上一个脚本中连接公网ssh服务的密码## src_port 上一个脚本中的端口号
1 0
- ssh 反向隧道访问内网机器
- 用ssh反向隧道访问内网机器
- 用ssh反向隧道访问内网机器
- 用ssh反向隧道访问内网机器
- 反向shell与反向ssh隧道,远程控制内网机器
- SSH反向隧道进行内网穿透
- ssh反向隧道实验——没有端口映射的前提下,让外网访问内网服务器
- 使用ssh反向连接访问内网linux机器
- SSH隧道访问内网服务
- Ubuntu SSH反向隧道从外网连接内网
- 使用SSH反向隧道进行内网穿透
- 使用SSH反向隧道进行内网穿透
- 使用SSH反向隧道进行内网穿透
- SSH 反向隧道 内网穿透,AutoSSH自动重连
- 通过ssh反向隧道及nginx反向代理实现外网控制内网nodemcu芯片
- 使用SSH反向隧道进行内网穿透(远程端口转发)
- 使用反向代理(Nginx)和隧道转发(SSH)实现内网端口映射
- 使用ssh的反向隧道管理内网路由器
- JAVA AES加密算法实现代码
- (一)OGG的安装与配置,并实现单向DML复制操作
- 利用grep 比较两个文件的异同
- 套接字选项setsockopt中参数之SO_REUSEADDR
- 关于百度地图坐标转换接口的研究
- ssh 反向隧道访问内网机器
- Windows GDI、GDI+ 绘图 闪烁问题
- jquery在某种情况下绑定click事件会触发多次click的解决方案
- UITableiView
- C
- iOS编程——Swift实现一个3D圆型旋转菜单
- RTSP协议转换RTMP直播协议
- Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用
- hdu1874