我有一个只能通过 SSH 访问的远程 Linux 服务器。
我的目标是使用 VirtualBox 在此主机服务器上托管多个虚拟机。主机服务器有 1 个 IP 地址,因此将使用 NAT 路由到虚拟机,例如 10022 将转发到服务器 1:22,而 20022 将转发到服务器 2:22。
我已经安装了 VirtualBox 并将预先配置的 CentOS VM 复制到主机服务器。
我启动了虚拟机,但无法与服务器建立连接,例如 ssh -p 10022 127.0.0.1 超时。
我尝试过很多事情:
方法 1:复制现有的 .vdi,附加到新的 VM
方法 2:导入 .Ova VM(认为它有助于解决任何 MAC 重新初始化问题?)
NAT网络类型,尝试了natnet1 192.168/16和10.0/16
VBoxManage modifyvm "hermes.awoms.com" --natnet1 "192.168/16"
在modifyvm --natpf1命令中指定和不指定VM ip的端口转发
VBoxManage modifyvm "hermes" --natpf1 "guestssh,tcp,,10022,,,22"
VBoxManage modifyvm "hermes" --natpf1 "guestssh,tcp,,10022,192.168.0.15,22"
我无法看到虚拟机是否正在启动(VBoxHeadless "hermes" --start &
运行无错误),也无法判断虚拟机是否正在获取 IP 地址
当我唯一的访问权限是 SSH 时,我还能做些什么来从 VirtualBox 或启动的 VM 获取更多信息?
答案1
这应该可以起作用。
您的虚拟机可能无法完成启动或具有不正确的 eth0 网络配置(不受支持的 NIC、未启用 dhcp 客户端)。
我建议你使用 VRDP(如果你使用 OSE,则使用 VNC)来查看虚拟机中发生的情况(http://www.virtualbox.org/manual/ch07.html/http://www.virtualbox.org/manual/ch09.html#otherextpacks)
答案2
尝试通过以下方式建立连接
ssh -p 10022 127.0.0.1
注定会失败:您正试图连接到您发出命令的同一台机器,即端口 10022:这不是您想要的。因此,您实际上并不知道安装是否有效,因为您与客户机通信的方式不正确。
您可以从 Linux 服务器尝试通过 ping 来联系您的客户机:
ping -c3 10.0.0.15
10.0.0.15 是 VBox 为 NAT 客户端提供的默认 IP 地址。如果失败,您可以尝试使用 nmap:
sudo nmap -sn 10.0.0.0/24
如果您保留默认设置,这应该可以识别访客的 IP。
如果访客回复,您现在可以尝试连接它:从服务器,
ssh [email protected]
或客户机 IP 的任何内容。此时,您需要指示您的 VM 监听端口 10022 以进行 ssh 通信。首先,确保您已下载包含 ssh 服务器的软件包,然后编辑文件 /etc/ssh/sshd_config 并更改行
Port 22
进入行列
Port 10022
现在重新启动 ssh 服务器并离开客户操作系统。
现在您可以从 LAN 中的另一台机器
ssh -p 10022 myname@IP
其中,我用 IP 表示 Linux 服务器的 IP 地址。这至少可以让你开始