SSH 从 Virtualbox Guest 到 DynDNS 地址

SSH from Virtualbox Guest to DynDNS address

我有 Windows 10 作为主机,在 Virtualbox 上作为来宾安装了 Manjaro。 我在另一间安装了 ssh 的房子上设置了 Debian 服务器。我在 Debian 的网络上设置了一个 dyndns,这样我就可以远程访问它。

例如..

从地址 12.34.56.78 我 ssh 到 foo.dyndns.org:1234。这个端口总是将我重定向到 192.168.1.5:22,因为这是我的 Debian 机器并且连接已建立。我可以从 Windows 10 以及我的 android 和 12.34.56.78 中的任何其他设备或通过 3G 执行此操作。

但是..

当我尝试这样做时

$ ssh foo.dyndns.org:1234

从 Virtualbox 中的 Manjaro Guest 我收到以下错误:

ssh: Could not resolve hostname foo.dyndns.org:1234: Name or service not known

所以我做了 ifconfig,我看到我的 inet 地址是 10.0.2.15。我将 virtualbox 的网络适配器从 NAT 更改为桥接,这样我可以获得一个 lan ip,并且我得到了主机的 ip,192.168.2.4。所以我又试了一次,还是不行。

此外,如果我在同一网络中尝试从虚拟机连接到服务器

$ ssh user@192.168.2.5:22

有效。在这种情况下,virtualbox 的网络适配器是 NAT。

如果我从 android (connectbot) 中尝试,此命令有效。

我可以用相同的方式从 Windows 的 PuTTY 连接。

所以我的问题是:

我还需要提供更多信息吗?

我已经在这里和 google 上搜索了几天,我找到了关于如何通过 ssh 进入虚拟机的解决方案。没有人(据我所见)反问

检查 ssh 的手册页显示 command-line 选项的格式:

ssh [...] [-p port] [...] [user@]hostnamessh

这只是说明,您需要更改

ssh foo.dyndns.org:1234

ssh -p 1234 foo.dyndns.org

如果域正确解析为 IP 地址。