OpenSSH系列(六)-正向代理与端口映射
Contents
ssh正向代理
我知道, 来看我博客的一大部分人都可能使用过shadowsocks
, 使用之后,
你不直接访问某些网站, 而通过代理机器进行.
你也可以借助OpenSSH
完成这件事情:
1 | ~ ❤ ssh -D 9000 ali |
在本机上监听9000端口, 而后在firefox或是其他浏览器中进行设置:
简单设置之后, 你就可以遨游天空了.
连接好之后, 可以这样进行检查(netstat -tnlp是我为数不多记得较为清楚的命令):
1 | ~ ❤ netstat -tnlp |
这里我不是很想介绍正向代理与反向代理的区别, 就推荐一下 这篇博客正向代理与反向代理【总结】, 有兴趣的同学可以读读看.
下面两部分是我认为我在
OpenSSH
中用到的最为变态的功能了, 它们真正的诠释了你对 本机以及远程机器的控制.并且是以一种看似魔法的形式. 鉴于我的能力水平, 希望不理解的读者能够提出一些建议.
端口映射
为远端服务器添加端口(可用作内网穿透)
假如我们在本机上开启了一个HTTP服务, 在公网是无法访问的, 那是因为TCP连接的建立 需要两个要素, 可以访问的IP, 以及正确的端口. 鉴于我们平时的网络情况, 如下图所示:
是没有公网IP的, 所以别人根本无法访问你的服务, 而内网穿透所要做的, 就是将本地的 端口映射至公网服务器的的某个端口中, 其他用户可以间接与你建立起连接.
1 | # 在本机, 将本机的80端口映射到了远端的8000 |
如果想要放到配置文件中
1 | Host ali |
本地添加端口
现实生活的限制真的很大, 有些时候需要被大家访问. 可有些时候却是不愿意被别人访问 只能本机或是固定的一些IP进行访问. 这种情况, 你能想到什么, 对了, 就是数据库, 数据库还是有所限制的好, 但有时却又不那么方便.
这时, 我们可以考虑将远程的端口映射到本地, 简单的欺骗一下MySQL服务器, 让它认为 服务是从本机发出的.
1 | ## 在远程, 看到mysql此时监听的是3306, 但是只能本机访问 |
如果你因为这样就结束, 那么真的太天真了, -L参数是可以添加到config文件中的:
1 | Host ali |
不知道大家有没有发现, 为什么一定要是127.0.0.1:3306
呢,
换用别的IP或是域名行不行, 欢迎读者进行探索哈.