SSH 内网端口转发实战
2016-06-12 16:46
295 查看
导读 | 大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多。不过其实除了这个功能,它的隧道转发功能更是吸引人。 |
先给出本文主角,两条SSH命令:
远程端口转发(由远程服务器某个端口转发到本地内网服务器端口) ssh -CfNg -R(命令行的关键) 2222(远程服务器端口):127.0.0.1:22(本地端口) 123.45.67.8(远程服务器)
本地端口转发(由本地内网服务器某个端口转发到远程服务器端口) ssh -CfNg -L(命令行的关键) 2222(远程服务器端口):0.0.0.0:4444(本地端口) 123.45.67.8(远程服务器)
命令行选项解释:
-C:压缩数据传输。 -f :后台认证用户/密码,通常和-N连用,不用登录到远程主机。 -N :不执行脚本或命令,通常与-f连用。 -g :在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。 -L 本地端口:目标IP:目标端口 -T 不分配 TTY 只做代理用 -q 安静模式,不输出 错误/警告 信息
需要让远程机器能访问的内部机器的端口号(端口:22)
在清楚了上面的参数后,我们使用下面的命令来建立一个远程SSH隧道,在内网主机执行
ssh -CfNg -R 2222:127.0.0.1:22 123.45.67.8
现在,在IP是123.45.67.8的机器上我们用下面的命令就可以登陆内网IP为192.168.0.100的机器了。
ssh -p 2222 localhost
现在公网ip的 123.45.67.8 主机可以本地访问内网服务端了,那内网客户端要怎么登陆呢?,我们只需要把内网客户端的 4444 端口映射到 123.45.67.8 的 2222端口即可。
现在我们需要本地转发了。
ssh -CfNg -L 2222:0.0.0.0:4444 123.45.67.8
执行完后,本地的内网客户端 4444 端口已经和 123.45.67.8 的 2222 端口连接起来,然后 123.45.67.8 的 2222 端口 又和 内网服务端的 22 端口连接起来,成为一个完整的映射链。
相关文章推荐
- 需求 - 22 - 多任务管理器效果
- 长度是怎样炼成的(二)
- LeakCanary 中文使用说明
- MySQL- INSTR 函数的用法
- C#Winform动态调整FlowLayoutPanel的控件中位置
- 长度是怎样炼成的(一)
- loadrunner进阶——学习一、LR流程
- python-元祖
- Android学习系列Toolbar,AppBarLayout,CoordinatorLayout,CollapsingToolbarLayout使用小结
- Python之反射,正则
- Memcached 及 Redis 架构分析和比较
- 编写类String的构造函数、析构函数和赋值函数
- cocos2d-x getBoundingBox getContentSize getTextureRect 解释
- /etc/fstab 参数详解及如何设置开机自动挂载
- android关于屏幕适配的几点建议
- JS中常用的输出方式(五种)
- STL 简单 function adapters 的实现
- 牛腩新闻发布系统总结
- Copy List with Random Pointer
- 由-webkit-transform-style:preserve-3d;所想