通过 SSH 连接到 Mac 上的 VirtualBox

通过 SSH 连接到 Mac 上的 VirtualBox

我刚刚在我的 Mac 上安装了 VirtualBox,使用 Cloudera Hadoop 磁盘映像的“使用现有虚拟硬盘文件”创建了一个新的 Ubuntu 虚拟机。我可以启动并运行虚拟机,但是,我更喜欢从终端进行 ssh 访问。以下生成消息“连接到主机 127.0.0.1 端口 2222:连接被拒绝”:

ssh [email protected] -p 2222

我也尝试过 -p 22

我还尝试使用“cloudera”作为用户。我是否需要更改 VirtualBox 设置才能允许 SSH?

我还尝试在不使用 Cloudera 磁盘映像的情况下创建一个新的 Linux 虚拟机,并且我也可以通过 SSH 连接到该虚拟机。

答案1

我有一台安装了 VirtualBox 的 Mac。

所以这对我有用......

单击 cloudera 图像并单击设置 然后单击网络 -> 适配器 1(默认情况下已附加为 NAT) -> 高级 -> 端口转发 添加一个新条目(单击 + 添加),设置如下:

主机端口:1111,访客端口:22,将主机 IP 和访客 IP 留空

cmd使用以下命令从 Mac shell 进行连接

ssh -p 1111 cloudera@localhost

在 Ubuntu 18.04 上,如有必要,另外安装 ssh(通常由未知的 cmd ssh 来表示先前的 cmd)并重新启动

sudo apt-get install openssh-server

答案2

维基百科

在大多数计算机系统上,localhost 解析为 IP 地址 127.0.0.1

你的命令

ssh 根@127.0.0.1 -p 2222

尝试从 Mac 连接到您的 Mac,而不是连接到您的 VM。

尝试找到您的虚拟机的地址并相应地更改您的命令。

注意:如果您只想从 Mac 到 VM 进行 ssh,您可以向 VM 添加“仅主机”网络适配器。

`ifconfig -a`

vboxnet0 然后,在您的 ubuntu VM 中应该会显示与您可用于从 Mac 进行连接的关联IP 地址。

答案3

首先,确保您的虚拟机已关闭。然后右键单击虚拟机。然后转至设置 --> 网络 在附加到部分中,从下拉列表中选择桥接适配器。单击“确定”

现在打开 VM Open 终端并输入 sudo apt-get install openssh-server

现在输入 ifconfig (如果未安装,则必须使用 sudo apt install net-tools 安装它)执行此命令后,您将获得如下 IP 地址

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.54.375.20  netmask 255.255.128.0  broadcast 10.88.255.255
        inet6 fe80::c5cc:cb0d:b02f:f7f6  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:29:7c:4d  txqueuelen 1000  (Ethernet)
        RX packets 6560  bytes 7484338 (7.4 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2063  bytes 210479 (210.4 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

从(inet 10.54.375.20)获取IP地址,获取显示的地址。

现在在你的主机(你的电脑)中输入 ssh username@yourip (例如[电子邮件受保护]),系统会要求您输入虚拟机密码。进入后,您可以访问虚拟机命令行。

答案4

如果您仅使用提供的硬盘文件,这对我来说意味着您自己创建了虚拟机。新虚拟机的默认网络设置是“NAT”,因此您必须创建一个 NAT 规则,将主机的端口 22 路由到虚拟机的端口 22。

我不知道 MacOS,但在 Linux 下,你必须使用 > 1024 的端口。我通常使用以 10000 开头的端口和相应的服务端口。在您的情况下,我将进行 10022 -> 22 的端口映射。对于“主机”列中的条目,我使用 127.0.0.1 和访客端 0.0.0.0 作为地址。

您可以通过 VirtualBox Manager 中的“右键单击虚拟机”->“更改”->“网络”选项卡->“端口转发”进入菜单

相关内容