我的笔记本电脑上运行着一个 Ubuntu VM 实例。主机和 VM 都运行相同的操作系统 - Ubuntu 12.04。我尝试从主机进行 ssh 操作,如下所示
ssh username@<VM-IP>
它尝试了一段时间然后说
ssh: connect to host <ip-address> port 22: Connection timed out
然后我尝试 ping
我明白了100% packet loss
。我猜是因为没有建立路线。我该如何解决这个问题?
答案1
简单的方法:进入“网络设置”、“端口转发”,添加一条规则,将虚拟机的 22 端口映射到主机的 9022 端口,例如:然后运行ssh localhost -p 9022
。
更好的方法:安装 Ubuntulxc
软件包,然后在 VirtualBox 上,转到 VM Network settings
,设置Attached to
为Bridged Adapter
,设置Name
为lxcbr0
,重新启动虚拟机,它将获得一个可从主机访问的新 IP。但是,如果您这样做,切勿同时启动连接到同一网桥的 LXC 容器和 VirtualBox VM,否则主机可能会崩溃(某处有相当丑陋的错误)
答案2
进入 Virutalbox 的网络设置,将网络适配器更改为桥接或仅主机。确保虚拟机的 IP 地址与主机的 IP 地址位于同一子网。
答案3
检查您是否安装了openssh-server
服务器。
sudo apt-get install openssh-server
然后检查你是否启用了正确的端口
/etc/ssh/sshd_config
如果你使用与外部不同的端口号进入,或者你的路由器有将其转发到另一个端口的规则
如果您想通过密码授权,可能还需要取消那里的注释。
#PasswordAuthentication yes
在虚拟机网络配置中启用相同的端口(默认 22)进行转发