怎么在宿主机上通过ssh连接虚拟机 VirtualBox 中的linux系统
通过 Xshell 连接 VirtualBox 中的 linux 虚拟机,您需要确保以下几个步骤都正确配置:
1. 配置 VirtualBox 网络
您需要将 VirtualBox 虚拟机的网络适配器设置为支持 SSH 连接的模式:
- 打开 VirtualBox,选择您的 Ubuntu 虚拟机,点击 设置。
- 选择 网络,然后根据需求设置网络模式:
- NAT 模式 + 端口转发:可以从宿主机访问虚拟机的特定端口(如 SSH)。
- 桥接网络:使虚拟机和宿主机处于同一个局域网中。
NAT 模式下的端口转发:
- 在 网络 设置中,将网络适配器模式设置为 NAT。
- 点击 高级 > 端口转发。
- 添加一条规则:
- 协议:TCP
- 宿主端口:2222(或其他未占用端口)
- 虚拟机端口:22
- 宿主IP 和 虚拟机IP 可以留空(默认绑定到所有接口)。
- 添加一条规则:
桥接网络:
- 在 网络 设置中,将网络适配器模式设置为 桥接网络。
- 确保选择的网络适配器与宿主机的物理网卡相匹配。
2. 在虚拟机中启用 SSH 服务
- 启动虚拟机并登录 Ubuntu。
- 安装并启动 SSH 服务:
sudo apt update sudo apt install openssh-server sudo systemctl enable ssh sudo systemctl start ssh
- 确认 SSH 服务正在运行:
sudo systemctl status ssh
- 检查虚拟机 IP 地址:
- NAT 模式:一般是
127.0.0.1
(通过端口转发)。 - 桥接模式:使用以下命令查看虚拟机的局域网 IP:
ip addr show
- NAT 模式:一般是
3. 使用 Xshell 连接
NAT 模式连接:
- 在 Xshell 中创建一个新的会话。
- 配置以下信息:
- 主机:
127.0.0.1
- 端口:
2222
(与之前设置的宿主端口一致) - 协议:SSH
- 主机:
- 输入虚拟机中 Ubuntu 的用户名和密码,即可连接。
桥接模式连接:
- 在 Xshell 中创建一个新的会话。
- 配置以下信息:
- 主机:虚拟机的局域网 IP 地址(例如
192.168.1.50
)。 - 端口:
22
- 协议:SSH
- 主机:虚拟机的局域网 IP 地址(例如
- 输入虚拟机的用户名和密码,即可连接。
4. 排查问题
如果连接失败:
- 检查虚拟机的防火墙配置:
sudo ufw allow ssh sudo ufw enable
- 确保虚拟机的 SSH 服务已正确运行:
sudo systemctl restart ssh
- 检查宿主机与虚拟机之间的网络连通性:
- NAT 模式:确认端口转发是否正确配置。
- 桥接模式:使用
ping
测试宿主机与虚拟机之间的网络连通性。