如果您的家庭 IP 地址发生变化,您仍然可以远程访问,您可以使用动态 DNS 服务。为此,我实际上更喜欢使用freedns.afraid.org并在他们托管的公开可用域之外设置一个子域。然后在我的 Linux 服务器上添加了一个 cron 作业,每小时运行一次,并点击一个特殊链接,以保持该子域的 IP 更新。许多家庭 WiFi 路由器实际上直接在配置中支持一个或多个动态 DNS 服务。
您还需要在家庭路由器上设置端口转发。在端口 22 上设置一个转发到 Linux 服务器 IP 地址的外部连接端口。这样做的细节很大程度上取决于您使用的路由器。
用一些详细信息扩展丹的答案:
如果您可以选择在家中设置小型 Linux 服务器。您可能需要修改 sshdconfig 以允许根据您的版本设置 SSH 隧道。您可能还需要修改防火墙配置以允许端口 22 连接,尽管大多数发行版现在在您安装 openssh 时会自动执行此操作。
如果您的家庭 IP 地址发生变化,您仍然可以远程访问,您可以使用动态 DNS 服务。为此,我实际上更喜欢使用freedns.afraid.org并在他们托管的公开可用域之外设置一个子域。然后在我的 Linux 服务器上添加了一个 cron 作业,每小时运行一次,并点击一个特殊链接,以保持该子域的 IP 更新。许多家庭 WiFi 路由器实际上直接在配置中支持一个或多个动态 DNS 服务。
您还需要在家庭路由器上设置端口转发。在端口 22 上设置一个转发到 Linux 服务器 IP 地址的外部连接端口。这样做的细节很大程度上取决于您使用的路由器。
重要 无论您做什么,都不要设置端口转发以在外部公开端口 22。黑客/脚本小子不断扫描端口 22。当他们找到它时,他们将开始尝试破解 root 的密码。如果您查看 /var/log/secure 并看到文件很大,您会注意到这种情况。我这样做了一次,在短短几个小时内,我就看到了已经发生的连接和黑客攻击。
所以使用非标准端口(如 5828 或其他同样随机的端口)。只要保持在 1024 以上和 32767 以下。
在 Windows 上,一个非常好的 SSH 客户端是 PuTTY ( www.chiark.greenend.org.uk/~sgtatham/putty )。在连接设置中输入您的互联网主机名(来自您选择的动态 DNS 服务或通过我提到的 freedns 服务)。将您的端口设置为您在端口转发中选择的端口。
然后转到 SSH/隧道部分。在该屏幕上,不要选中顶部的两个复选框(无需允许远程连接)。输入源端口(如果您的客户端计算机上没有安装 MySQL,则可以使用 3306)。对于目标,输入“gcs-host:3306”。“gcs-host”表示 Google 云服务主机名。然后对于下面的两个单选按钮选项,本地和自动。
保存您的连接信息并连接。
现在您应该能够启动 MySQL 工作台并使用“localhost:3306”作为服务器名称。
从命令行来看,它类似于:
这依赖于您对代理主机的 SSH 访问权限,并且只需在 3306 上的本地计算机上打开一个侦听端口,这样您就可以告诉 Navicat 连接到 localhost:3306。
如果你有一个本地 MySQL 服务器已经在运行监听 3306,你可能会遇到麻烦,在这种情况下,只需为命令中的第一个数字选择一个空闲端口并调整你的 Navicat 配置。