xshell连接虚拟机 SSH配置步骤
Xshell6是一个强大的安全终端模拟软件。 Xshell6支持SSH1,SSH2和TELNET 协议。用户可以通过家里的网络连接远程主机,方便用户在家处理突发事情,可以让用户轻松管理远程主机。 Xshell6还可以上传下载文件,非常方便。
详解如何在 Windows 上使用 Xshell 连接 VirtualBox 中的 Ubuntu 虚拟机。包括 NAT 端口转发设置(127.0.0.1:2222->22)、Ubuntu SSH 服务安装启动、UFW 防火墙配置及 Xshell 会话保存与密钥验证步骤。
在 Windows 电脑上管理 Linux 虚拟机时,直接使用 Xshell 进行 SSH 连接比在虚拟化软件的控制台窗口中操作更便捷,支持复制粘贴、多标签页管理和命令记录。要实现这一目标,核心在于打通宿主机与虚拟机之间的网络通道,并正确配置 SSH 服务。
本教程以 Windows 11、Xshell 8、VirtualBox 7.1 和 Ubuntu 24.04 LTS 为例,演示如何通过 NAT 端口转发实现本地回环连接。这种方法无需复杂的桥接网络设置,适合单机开发测试环境。

VirtualBox 网络设置中添加端口转发规则,将主机 127.0.0.1:2222 映射到客户机端口 22
1. 为虚拟机添加 NAT 端口转发
首先确保 Ubuntu 虚拟机处于关闭状态。打开 VirtualBox 管理器,选中目标虚拟机,点击【设置】进入配置界面。
在左侧菜单选择【网络】,确认“网卡 1”的连接方式已设置为【网络地址转换(NAT)】。点击该网卡下方的【高级】展开更多选项,找到并点击【端口转发】按钮。
在弹出的规则列表中,点击右侧的绿色加号新增一条规则,按以下参数填写:
- 名称:Ubuntu-SSH(便于识别即可)
- 协议:TCP
- 主机 IP:127.0.0.1(限制仅本机访问,更安全)
- 主机端口:2222(宿主机上的监听端口,可自定义未被占用的端口)
- 子系统/客户机 IP:留空(适用于 DHCP 自动分配 IP 的情况)
- 子系统/客户机端口:22(Linux 内部 SSH 默认端口)
点击【确定】保存规则,再次点击【确定】关闭虚拟机设置窗口。此时,Windows 本地的 2222 端口流量将被 VirtualBox 自动转发至虚拟机的 22 端口。
2. 在 Ubuntu 中安装并启动 SSH 服务
启动 Ubuntu 虚拟机,通过 VirtualBox 的图形控制台登录系统。打开终端,依次执行以下命令来安装和启动 OpenSSH 服务器:
sudo apt update
sudo apt install openssh-server
sudo systemctl restart ssh.service
安装过程中若提示输入密码,请输入当前用户的 sudo 密码(输入时屏幕不显示字符)。安装完成后,使用以下命令检查服务运行状态:
systemctl status ssh.service --no-pager
观察输出结果,确认 Active 状态显示为 active (running)。如果显示失败,需根据报错信息排查网络或依赖问题。
接着,在终端执行 whoami 命令,记下当前登录的用户名。后续在 Xshell 中连接时,必须使用此 Linux 用户名,而非 Windows 账号。

2. 在 Ubuntu 中安装并启动 SSH 服务
3. 检查虚拟机防火墙和主机指纹
为了确保连接不被拦截,需要检查 Ubuntu 内部的防火墙状态。在终端执行:
sudo ufw status
如果 UFW 状态为 inactive,则无需额外操作。如果状态为 active,需确认是否允许了 SSH 流量。若未允许,执行以下命令放行 TCP 22 端口:
sudo ufw allow 22/tcp
此外,为了在首次连接时验证服务器身份,建议在虚拟机中查看 SSH 主机公钥指纹。执行以下命令获取 ED25519 算法的指纹:
ssh-keygen -l -f /etc/ssh/ssh_host_ed25519_key.pub
记录下显示的指纹字符串,稍后在 Xshell 连接时会用到,用于比对以确保连接的是正确的虚拟机。
4. 在 Xshell 中保存虚拟机会话
回到 Windows 桌面,打开 Xshell 8。点击工具栏上的【新建】图标,或在【文件】菜单中选择【新建】。
在“新建会话属性”窗口中,配置基本连接信息:
- 名称:Ubuntu24-NAT
- 协议:SSH
- 主机:127.0.0.1
- 端口号:2222
注意,这里的端口号必须与 VirtualBox 中设置的“主机端口”一致。
切换到左侧的【用户身份验证】类别,在右侧填写:
- 方法:Password
- 用户名:此前在 Ubuntu 中通过
whoami查到的用户名 - 密码:可留空,连接时手动输入以提高安全性
点击【确定】保存会话配置。此时会话列表中会出现名为“Ubuntu24-NAT”的新条目。

4. 在 Xshell 中保存虚拟机会话
5. 连接并完成身份验证
在 Xshell 会话列表中双击“Ubuntu24-NAT”,或选中后点击【连接】。
首次连接时,Xshell 会弹出“SSH 安全警告”对话框,显示服务器的主机密钥指纹。仔细核对其中的算法(如 ED25519)和指纹值,确保与之前在 Ubuntu 终端中查询的结果一致。确认无误后,勾选【接受并保存】,然后点击【确认】。
随后,Xshell 会提示输入密码。输入 Ubuntu 用户的登录密码并回车。若认证成功,终端将显示 Linux 的命令提示符,表明已成功建立 SSH 连接。

Xshell 8 中新建会话属性窗口,配置主机为 127.0.0.1,端口为 2222,并设置用户身份验证
6. 根据失败位置回查同一条连接
如果连接失败,可根据现象快速定位问题:
- 连接超时或被拒绝:检查 VirtualBox 中的端口转发规则是否正确,确认主机端口为 2222,客户机端口为 22。同时确认 Ubuntu 虚拟机已开机且 SSH 服务正在运行。
- 端口占用错误:如果 Windows 上其他程序占用了 2222 端口,可在 VirtualBox 中将主机端口改为其他空闲端口(如 2223),并同步修改 Xshell 会话中的端口号。
- 认证失败:确认用户名拼写正确,且使用的是 Linux 系统密码。如果虚拟机配置了密钥登录而禁用了密码登录,需在 Xshell 中切换为【Public Key】认证方式并加载对应的私钥。
7. 核对账号并验证会话能够复用
连接成功后,在 Xshell 终端中执行以下命令验证环境:
whoami
pwd
确认输出的用户名和当前目录符合预期。输入 exit 断开连接,然后再次从会话列表双击“Ubuntu24-NAT”。如果无需重新输入主机 IP 和端口,且能快速通过密码验证进入系统,说明会话配置已正确保存并可复用。
此后,每次使用前只需确保 Ubuntu 虚拟机已启动,即可通过 Xshell 快速接入进行开发或维护工作。

Xshell 终端窗口显示成功登录后的 Linux 命令提示符,执行 whoami 和 pwd 命令验证连接
火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。
















