xshell如何连接虚拟机 配置IP和SSH会话
Xshell6是一个强大的安全终端模拟软件。 Xshell6支持SSH1,SSH2和TELNET 协议。用户可以通过家里的网络连接远程主机,方便用户在家处理突发事情,可以让用户轻松管理远程主机。 Xshell6还可以上传下载文件,非常方便。
详解在 Windows 环境下使用 Xshell 连接 VirtualBox 虚拟机的步骤。包括 Ubuntu 安装 openssh-server、查看 NAT 网卡 IP、配置 VirtualBox 端口转发规则以及在 Xshell 中建立 SSH 会话的具体操作,解决虚拟机远程连接难题。
在 Windows 电脑上使用 Xshell 连接本地运行的虚拟机,既能享受图形化界面的便利,又能通过命令行高效管理服务器环境。这种连接方式不需要复杂的物理网络设备,只需正确配置虚拟化软件的端口转发,即可让宿主机的 Xshell 直接访问虚拟机内部的 SSH 服务。下面以 Windows 宿主机、VirtualBox 中的 Ubuntu 虚拟机为例,演示从准备环境到成功登录的全过程。其他虚拟化软件的操作逻辑类似,但菜单名称可能不同,请以实际界面为准。

Ubuntu 终端中执行 sudo apt install openssh-server 命令的安装过程
1. 在虚拟机中安装并启动 SSH 服务
Xshell 是 SSH 客户端,要让它连上虚拟机,虚拟机内部必须先运行 SSH 服务端。启动 Ubuntu 虚拟机,通过 VirtualBox 的控制台窗口登录你的普通用户账户。确保当前环境是你有权管理的测试机,并保存好手头的工作。
在 Ubuntu 终端中执行以下命令安装 OpenSSH 服务器软件包。这需要管理员权限,系统可能会提示输入密码:
sudo apt install openssh-server
安装完成后,SSH 服务通常会自动启动并开始监听默认端口 22。如果之前修改过 SSH 配置文件使用了非标准端口,请记下那个端口号。本教程后续步骤均假设使用默认的 22 端口。

1. 在虚拟机中安装并启动 SSH 服务
2. 确认虚拟机的 NAT 网卡 IP 地址
为了让宿主机找到虚拟机,我们需要知道虚拟机在 NAT 网络中的具体地址。在 VirtualBox 管理器中选中该虚拟机,点击【设置】—【网络】,确认网卡 1 的连接方式已设为“网络地址转换(NAT)”,且“接入网线”选项已勾选。
回到 Ubuntu 虚拟机终端,输入以下命令查看网络接口信息:
ip addr show
在输出结果中找到对应网卡(通常是 eth0 或 enp0s3),记录其 inet 后面的 IPv4 地址。注意不要使用 127.0.0.1 这个回环地址,那是本机内部通信用的。如果虚拟机通过 DHCP 获取地址,每次重启后 IP 可能会变化,建议在后续步骤中留意这一点。

使用 ip addr show 命令查看并记录 NAT 网卡的 IPv4 地址
3. 配置 VirtualBox 端口转发规则
NAT 模式下,外部无法直接访问虚拟机内部,必须通过端口转发建立通道。在 VirtualBox 的【网络】设置页面,点击【高级】展开选项,找到【端口转发】按钮并点击。
在弹出的规则列表中点击右侧的绿色加号新建一条规则:
- 名称:填写 ssh-test 以便识别。
- 协议:保持 TCP。
- 主机 IP:填写 127.0.0.1。这表示只允许本机访问,更安全。
- 主机端口:填写 2222。这是宿主机上 Xshell 将要连接的端口,需确保未被其他程序占用。
- 子系统 IP:填写第 2 步中查到的虚拟机 IPv4 地址。
- 子系统端口:填写 22。这是虚拟机内部 SSH 服务监听的端口。
点击确定保存规则。这条规则的意思是:当有人访问宿主机的 127.0.0.1:2222 时,VirtualBox 会把流量转交给虚拟机的 IP:22。如果虚拟机重启后 IP 变了,记得回来更新子系统 IP。
4. 在 Xshell 中新建 SSH 会话
打开 Windows 上的 Xshell 软件,点击左上角的【新建】按钮创建会话。在属性对话框中进行如下设置:
- 名称:输入 Ubuntu-VM 或其他易记名称。
- 协议:选择 SSH。
- 主机:填写 127.0.0.1。注意这里填的是宿主机的回环地址,而不是虚拟机的 IP。
- 端口号:填写 2222。对应刚才在 VirtualBox 中设置的主机端口。

Xshell 新建会话属性页,主机填 127.0.0.1,端口填 2222
其他选项如用户名可以暂时留空,连接时再输入。点击【确定】保存会话配置。此时 Xshell 并不知道虚拟机的存在,它只知道要连接本机的 2222 端口,剩下的路由工作由 VirtualBox 完成。
5. 连接验证与密钥核对
双击刚才创建的会话进行连接。如果是第一次连接,Xshell 会弹出“SSH 安全警告”,显示远程主机的密钥指纹。由于这是本地虚拟机,你可以先在 Ubuntu 终端运行 ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub(具体文件名视算法而定)获取指纹进行比对,确认无误后点击【接受并保存】。
接下来输入 Ubuntu 系统中的用户名和密码。注意密码是 Linux 用户的密码,不是 Windows 的登录密码。登录成功后,终端会显示欢迎信息和命令提示符。你可以运行 whoami 命令确认当前用户身份,或者运行 ifconfig 再次核对网络状态。

Xshell 成功登录 Ubuntu 虚拟机,显示命令提示符和用户信息
如果连接超时,请检查虚拟机是否正在运行、端口转发规则是否生效以及 Windows 防火墙是否拦截了 2222 端口。如果提示连接被拒绝,则可能是 SSH 服务未启动或端口号填错。验证无误后,保留该会话配置,下次只需一键即可进入虚拟机终端。

































