1

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

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

和....

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

谢谢

4

3 回答 3

6

这很简单,使用 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
于 2009-07-22T13:27:41.433 回答
4

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

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

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

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

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

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

于 2009-07-22T11:31:36.493 回答
-2

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

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

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

于 2009-07-22T10:48:58.153 回答