我无法通过 SSH 进入我的 Ubuntu VM

我无法通过 SSH 进入我的 Ubuntu VM

因此,我查看了我的笔记并尝试安装可以运行 Ubuntu 的 Oracle 虚拟机。此外,我在使用 SSH 时遇到了问题,设置过程的详细情况有点模糊。但我认为我做对了,主要是设置 sshd_config 文件以不监听端口 22 并选择一个超过 1000 的新端口号。但无论是使用 PuTTY 连接到我的 VM 还是使用 Windows 终端连接到我的 VM,我都无法建立连接。大多数情况下,要么是连接超时问题,要么是端口号 1234 被拒绝(1234 是我选择作为监听端口的号码)。我还对两个 IP 执行了 ping 命令,我的笔记本电脑和 VM 都可以毫无问题地互相 ping 通。我还在我的 VM 上执行了防火墙命令:sudo ufw allow port 1234/tcp 和其他防火墙配置。尽管做了所有这些准备,我仍然无法从我的计算机 ssh 进入我的 VM。我是不是忘记了什么?

附带的问题是,如果我想通过另一台机器连接我的虚拟机,它必须处于打开状态吗?

答案1

您必须在 Oracle VM 管理器中设置端口转发。选择 VM,然后选择齿轮(设置),在网络中您应该会找到转发按钮。

网络设置

您必须这样做,因为 VBox 默认会创建一个虚拟内部网络并通过 NAT 传输流量。这些设置告诉 VBox 从本地网络转发哪些端口。ssh 和 docker compose 的示例:

在此处输入图片描述

如您所见,您甚至不必更改虚拟客户机上的端口号。客户机 IP 可以在虚拟机中找到,例如通过 ifconfig。

如果您想从整个网络访问机器,您可能需要在 Windows 主机中增加一个转发,或者如上所述将其更改Attached to为桥接适配器。在后一种情况下,VM 将直接显示在您选择桥接的卡上。

答案2

我会以 helius 的回答为基础,并提醒人们你需要做一些显而易见的事情(如果忘记了)来在 VM 中安装 SSH,例如:

sudo apt update && sudo apt install -y openssh-server

然后你就可以连接:

ssh -p 8022 [email protected]

相关内容