【问题标题】:Connecting/Tunneling to remote server to bypass firewall连接/隧道到远程服务器以绕过防火墙
【发布时间】:2010-11-12 23:03:57
【问题描述】:

我想在我在工作中开发的 MySQL Db 上试用一些 MySQL 软件,例如 Workbench。在多次尝试建立连接失败后,我终于询问了一位服务器管理员是否做错了什么,并被告知 Db 位于防火墙后面。所以我可以使用 phpMyAdmin,因为它是安装在服务器端的,但不是 Excel、Workbench 等(来自我的机器)。

所以我想知道是否有一种相当标准的方法可以与服务器建立类似 VPN 的连接。目前我使用 SSH 客户端连接没有问题。但显然这不是将我的本地应用程序链接到服务器。那么我能否以我的整个系统(可以这么说)被认为已登录到服务器的方式进行连接? VPN 是我能做的最接近的类比,但这不是一个选择。

还有……

这被认为是相当“黑帽子”还是只是我不知道该怎么做但所有酷孩子都在合法地做的事情?

谢谢

【问题讨论】:

    标签: mysql unix firewall vpn


    【解决方案1】:

    使用 SSH 隧道很简单。只需执行类似于以下的操作:

    ssh -f username@your.remote.host -L 4040:your.remote.host:3306 -N
    

    执行以下操作:

    • -f - 将 SSH 分叉到后台
    • username@your.remote.host - SSH 连接的用户和主机
    • -L 4040:your.remote.host:3306 - 监听端口 4040 上的本地连接,并通过 SSH 将它们转发到 your.remote.host 端口 3306
    • -N - 告诉 SSH 不要在远程主机上发出命令

    然后您就可以使用以下方式连接到您的 mysql 服务器(假设上述端口正确):

    mysql --host=localhost --port=4040 --user=mysqluser -p
    

    【讨论】:

      【解决方案2】:

      SSH 隧道非常好,可以让生活变得更轻松。

      优点是它全部运行在加密端口 22 上,因此安全性更好,您还可以压缩会话,因此在慢速网络上可能会看到一些性能提升...

      如果您使用的是 Windows,我会推荐 puTTY,如果您在 google 上搜索,它很容易获得...一旦连接,您可以分配一个本地端口,该端口转发到远程机器上的端口。在 puTTY 中,这是在 Connection->SSH->Tunnels 对话框中。

      我经常用它来转发 VNC - 所以如果你有本地端口 5900 转发到远程地址 5900,你可以连接到 localhost:5900,就像你连接到远程 IP 地址一样。

      如果有一个“跳”到远程网络也很有用 - 例如。您不仅可以转发到您连接的 ssh 服务器,还可以通过您正在使用的 ssh 服务器连接到其他服务器。

      最后,我不认为这个选项有任何不合法的地方——您正在按预期使用 ssh 连接,并且已被授予访问您正在使用的服务器的权限。如果有的话,那就是提高安全性...

      【讨论】:

        【解决方案3】:

        我所在的管理员有一个 Open-VPN,可以将他们家中的个人计算机连接到工作中的服务器,但它仅用于维护和“紧急情况”。

        我不认为防火墙上有“漏洞”对安全性有好处,尤其是在没有防火墙来保护您的个人计算机的私人场所。

        这种做法是可能的,但必须限制在最低限度

        【讨论】:

        • 这根本不能回答他的问题。
        • 确实如此,但不是所有问题,只是结尾:“这被认为是相当“黑帽”还是只是我不知道该怎么做,但所有酷孩子都在做的事情合法吗?”
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-26
        • 2013-10-16
        • 2017-01-01
        • 2020-07-05
        • 1970-01-01
        • 1970-01-01
        • 2016-02-13
        相关资源
        最近更新 更多