博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSH 内网端口转发实战
阅读量:7108 次
发布时间:2019-06-28

本文共 1043 字,大约阅读时间需要 3 分钟。

hot3.png

如果两个内网之间的linux服务器需要互相登录,或需要互相访问内网某个端口,担忧没有公网IP,可以使用的方法有ngrok(https://ngrok.com/),但并不方便,我们只需两条 SSH 命令即可。

SSH 内网端口转发实战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 端口连接起来,成为一个完整的映射链。

本文原创地址:

转载于:https://my.oschina.net/u/3308739/blog/1023592

你可能感兴趣的文章
设计模式C#实现(四)——迭代器模式
查看>>
MPAndroidChart的具体属性方法
查看>>
【vue】使用vue+element搭建项目,Tree树形控件使用
查看>>
博客作业2---线性表
查看>>
JAVA Day10
查看>>
leetcode394
查看>>
(18)odoo规范
查看>>
PHP:第一章——PHP中静态变量和常量
查看>>
软件过程与项目管理(第三次作业)
查看>>
MyEclipse junit测试问题initializationError
查看>>
webMethods中有趣的尝试【一】
查看>>
Android IOS WebRTC 音视频开发总结(四七)-- 深度解读国内首届WebRTC大会背后的真相...
查看>>
OpenCV-Python:霍夫变换
查看>>
[学习经验] 孩子到底什么时候学习自然拼读和国际音标?
查看>>
wamp phpMyAdmin error #1045 - Access denied for user root@locahost Fixed!
查看>>
MySQL的四种事务隔离级别
查看>>
mysql---3种常用引擎 和优点
查看>>
input通过id的赋值 js jquery innerHTML和outerHTML 的区别
查看>>
电路交换与分组交换的区别?优劣对比(转)
查看>>
数据结构栈的链表实现
查看>>