ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

VMware 17安装RHEL 8并用Xshell远程连接完整实战指南

VMware 17安装RHEL 8并用Xshell远程连接完整实战指南 很多做运维、网络、软件测试的朋友都绕不开这样一个组合本地跑一个 VMware 虚拟机装 Red Hat Enterprise Linux然后用 Xshell 这类 SSH 终端工具远程操作它。原因是现实里你根本不会天天坐在服务器屏幕前SSH 远程登录才是常态虚拟机里直接敲命令、复制代码、开多个终端窗口效率也确实比不上 Xshell 这种专门工具。把 VMware 17、RHEL 8、Xshell 三样串起来等于提前演练了一遍真实工作的操作路径。这篇文章不是照搬官方手册是我实测过一遍的完整流程从 VMware Workstation Pro 17 的安装、虚拟硬件参数分配到 RHEL 8 系统安装里的软件选择与分区再到网络模式选型、sshd 服务开启最后用 Xshell 建立 SSH 会话并解决各种连接异常。零基础可以照着做有经验的人可以直接跳到第 4、5 节看关键配置第 6 节的问题速查表建议收藏。1. 环境准备VMware 17、RHEL 8 ISO 与 Xshell 怎么选1.1 VMware Workstation Pro 17 的版本选择与安装细节VMware Workstation 目前主流版本就是 Workstation Pro 17对 Windows 10/11 64 位支持良好个人非商业用途现在也可以直接使用官方版本。装之前先去任务管理器的“性能 → CPU”里确认虚拟化状态是“已启用”如果显示“已禁用”需要进 BIOS 打开 Intel VT-x 或 AMD-V这一步不做后面虚拟机要么起不来要么运行极慢。安装过程基本是下一步下一步但有两个选项建议处理一是勾选“安装增强型键盘驱动程序”这个驱动用于虚拟机里捕获键盘输入涉及快捷键场景时更稳定二是安装路径尽量别放 C 盘默认位置VMware 程序加虚拟机文件动辄几十 G放数据盘后面省心。装完以后到“编辑 → 首选项”里把虚拟机默认位置改到你计划存放虚拟机的目录避免每次新建虚拟机都要手动改路径。注意如果你之前用过 VMware Workstation 15/1617 的界面变化不大但部分按钮名称有调整。网上很多教程还是老版本截图流程以你本机界面为准。1.2 RHEL 8 ISO 镜像从哪里拿RHEL 是商业发行版不像 CentOS 那样随便找个镜像站就能下。正规路径是去 Red Hat 官网注册一个开发者账户选择免费的 Developer Subscription 开发者订阅之后就能合法下载 RHEL 8 的 ISO 镜像也可以走 60 天评估版。学习用途建议直接用开发者订阅至少系统能正常安装后续还能用官方源更新补丁。下载时注意选 DVD ISO 而不是 Boot ISO。DVD ISO 是完整安装介质大约 4 到 6 GB虽然大但不需要安装时联网再拉包Boot ISO 只有几百 MB安装过程中需要从网络仓库下载软件包网络质量不好时很容易卡住。如果你手头已经拿到 RHEL 9.x 的 ISO比如 9.2安装流程和 RHEL 8 高度一致只是软件源名称和个别界面文字不同本文所有关键步骤在 RHEL 9 上同样适用。1.3 Xshell 安装与杀毒软件干扰Xshell 是 NetSarang 出的终端模拟器平时最常用来做 SSH 连接也支持 Telnet、Serial 串口等协议。个人学习用途可以去官网下家庭/学校免费版功能足够日常用。安装包体积不大但装的时候容易被 360、Windows Defender 误报原因通常是它的“凭据管理器”组件涉及密码存储。处理方法从官网正规渠道下载后在杀毒软件里加白名单再解压安装不要从各种“下载站”拿加了私货的版本。安装完成第一次启动会有欢迎界面家庭版没有评估限制。我建议顺手把界面语言、字体调一下菜单“工具 → 选项 → 查看”把字体改成 Consolas 或等宽字体编码选 UTF-8后面中文不会乱码。这一步很多人忽略直到连上服务器看到中文全变乱码才回头改。2. VMware 17 中新建虚拟机硬件参数与常见启动问题2.1 新建向导的关键选项启动 VMware Workstation Pro 17点“创建新的虚拟机”建议选“稍后安装操作系统”——先建好硬件再加载 ISO 启动。这样方便中途换镜像也避免虚拟机向导自动识别带来的兼容问题。客户机操作系统选择“Linux → Red Hat Enterprise Linux 8 64 位”。如果你的版本下拉里没有 8选 RHEL 7 64 位也可以区别只是默认硬件兼容级别对安装 RHEL 8 没有实际影响。虚拟机名称和位置写成 RHEL8-Dev 这种可辨识的名字位置放在 1.1 里改过的默认目录。固件类型选 BIOS 还是 UEFIRHEL 8 两个都支持不过在 VMware 上建议直接 UEFI兼容性更接近现代服务器后续如果要装其他系统也不用改。磁盘类型选 NVMe 或 SCSI 都行默认选项通常足够。2.2 CPU、内存、磁盘给多少才合理这里给一个实测下来的基准配置不是官方最低要求而是兼顾性能和稳定参数最低要求推荐配置备注内存2 GB4 GB最小化安装 1 GB 够带图形界面建议 4 GBCPU2 核2-4 核核太多反而拖慢宿主机磁盘20 GB40-60 GB建议单个 vmdk 文件方便克隆迁移网络NATNAT初期测试 NAT 最省心为什么推荐 4 GB 内存RHEL 8 如果选了带图形界面的软件组合2 GB 会有明显卡顿。SSH 操作虽然用不到图形界面但系统服务、日志、软件包安装都需要内存。磁盘给 60 GB 不是浪费后面装 Docker、数据库、中间件日志一多很容易占满。虚拟机设置里还有两个容易被忽略的选项一是“虚拟化引擎”勾选“虚拟化 Intel VT-x/EPT 或 AMD-V/RVI”二是显示设置里关掉“3D 图形”加速内存和 CPU 开销都会降下来。2.3 启动阶段常见的异常最多见的异常是启动虚拟机时提示“VMware Workstation 无法连接到虚拟机”或者打开后黑屏、一直停在启动画面。这类问题 90% 和 VMware 的服务或权限有关按 WinR 输入 services.msc把 VMware Authorization Service、VMware DHCP Service、VMware NAT Service 全部启动尤其是 Authorization Service 没运行几乎必然报无法连接到虚拟机。如果服务正常还报错用管理员身份重新运行 VMware并检查虚拟机的 vmx 文件所在目录是否有写入权限。还有一个隐蔽坑Windows 的 Hyper-V 或“基于虚拟化的安全性”和 VMware 冲突。这个在开启了 WSL 2、Hyper-V 的机器上经常出现现象是 VMware 启动虚拟机时报“此主机支持 Intel VT-x但 Intel VT-x 处于禁用状态”或者直接蓝屏。解决方向是关闭 Hyper-V 功能或关闭内核隔离中的内存完整性但如果你必须同时用 WSL 2就得在 Windows 启动引导里做切换。3. RHEL 8 系统安装实战软件选择分区与首次配置3.1 启动 ISO 后的初始化选项虚拟机设置里把 CD/DVD 指向 RHEL 8 的 ISO勾选“启动时连接”开机后自动进入安装引导。第一屏是“Install Red Hat Enterprise Linux 8”和“Test this media install”直接选第一项回车。如果你发现鼠标键盘不响应检查虚拟机的“硬件 → USB 控制器”改成 USB 3.1 兼容并勾选“自动连接”。语言选择建议直接 EnglishUnited States。不是非要显摆英语而是 RHEL 的中文翻译和字符集在后续配置里偶尔会有不可预料的坑英文安装环境最稳。安装界面顶部有几个带叹号的配置项全部处理完才能点“Begin Installation”。3.2 软件选择与磁盘分区点“Software Selection”如果只是当服务器用选“Server”或最小化安装“Minimal Install”。这台机器主要是通过 Xshell 远程操作不需要图形界面选 Minimal 最合适省内存、启动快、干扰服务少。如果你偶尔想进图形界面选“Server with GUI”但内存要给到 4 GB 以上。“Installation Destination”里选“Automatic”自动分区RHEL 8 默认会划分 boot、root、home、swap 等分区对新手友好。想手工分区也可以至少分三个/boot 1 GBswap 给 2-4 GB 或与内存等大/ 分剩余全部。有一个经验不要把 /home 单独分太大。测试环境经常把用户目录当数据盘用但容器、日志、临时安装包全在 / 下面/ 分小了分分钟爆盘。磁盘加密和 LVM 在纯学习环境可以关掉减少可变因素。3.3 ROOT 密码、创建用户与首次重启点“Root Password”设置 root 密码再点“User Creation”创建一个普通用户。RHEL 8 默认策略要求密码足够复杂太简单会提示“弱密码”学习环境可以强制使用但建议密码混入大小写和数字。创建用户时勾选“Make this user administrator”这样该用户可以 sudo日常操作不用切 root。点“Begin Installation”进度条走完后点“Reboot”。重启后进入第一次启动配置有图形界面会让你接受许可协议、设置网络主机名没有图形界面的话直接用 root 或刚才创建的用户登录然后输入ip addr看网卡是否拿到 IP。到这里系统安装基本结束接下来才是重头戏——SSH 能不能连进来取决于网络和服务配置。4. 网络模式选型与 SSH 服务配置4.1 NAT、桥接、仅主机到底怎么选VMware 虚拟机默认提供三种网络模式很多连接不上的情况是模式选错。NAT 模式下虚拟机通过宿主机共享一组 IP 上网对外部网络隐藏宿主机和虚拟机之间默认互通这是 VMware 提供的 VMnet8 网段桥接模式让虚拟机直接挂在物理局域网上获得一个和宿主机同网段的 IP局域网内其他设备也能访问仅主机模式相当于一个内部局域网虚拟机只能和宿主机通信不能上网。学习阶段我推荐 NAT原因有三不用关心路由器 DHCP 地址池不会和其他设备冲突虚拟机的对外访问能力完整yum 更新、下载软件包都没问题宿主机访问虚拟机通过 VMnet8 网段IP 可控。如果你要模拟服务器被局域网其他机器访问比如测试 Web 服务那才需要换成桥接。用桥接时注意虚拟机网卡要对应正确的物理网卡笔记本用无线网卡时桥接经常不稳定。4.2 给 RHEL 8 配置固定 IP 的两种方式安装时 DHCP 自动分配的 IP 每次重启可能变SSH 连接要稳定给虚拟机配一个固定 IP 才是正解。RHEL 8 默认用 NetworkManager 管理网络推荐用 nmcli 命令行来配。先查看网卡名nmcli connection show # 查看连接名一般是 ens33 或 ens160 ip addr # 确认当前网段NAT 模式一般是 192.168.xxx.x以 NAT 网段 192.168.20.0/24 为例打开 VMware“编辑 → 虚拟网络编辑器”确认 VMnet8 的子网就是 192.168.20.0网关一般是 192.168.20.2。然后配置静态 IPnmcli connection modify ens33 ipv4.addresses 192.168.20.100/24 nmcli connection modify ens33 ipv4.gateway 192.168.20.2 nmcli connection modify ens33 ipv4.dns 8.8.8.8 nmcli connection modify ens33 ipv4.method manual nmcli connection up ens33不习惯命令行的话也可以直接编辑/etc/sysconfig/network-scripts/ifcfg-ens33在文件里写BOOTPROTOnone、IPADDR192.168.20.100、PREFIX24、GATEWAY192.168.20.2、DNS18.8.8.8然后nmcli connection reload再nmcli connection up ens33。两种方式本质都是写同一套配置但 nmcli 命令行顺手以后批量配置多台虚拟机时效率高得多。4.3 开启 sshd 并放行防火墙RHEL 8 装完默认可能没启动 SSH 服务或者防火墙没放行。这一步漏了Xshell 那边只会看到连接超时。先确认 sshd 是否安装systemctl status sshd # 没安装则运行 yum install -y openssh-server systemctl enable --now sshd # 设置开机自启并立即启动然后是防火墙。RHEL 8 使用 firewalld默认对入站连接限制严格。开启 22 端口firewall-cmd --permanent --add-servicessh firewall-cmd --reload firewall-cmd --list-services # 确认输出里有 sshSELinux 一般不用动它对 sshd 默认放行。不要一上来就关 SELinuxRHEL 环境里它保护着系统普通 SSH 登录完全不受影响。确认配置完成后先在虚拟机内部测试ssh localhost或ssh 127.0.0.1能通再回宿主机尝试这一步能帮你区分是服务问题还是网络问题。5. Xshell 连接 RHEL 8 的完整实操步骤5.1 新建会话与关键参数打开 Xshell点工具栏的“新建”会话属性里几个关键项看清楚。协议选 SSH主机填虚拟机的 IP 地址端口 22名称随意。右侧“类别”里的“连接 → 认证”建议选 Password 密码认证“用户身份验证”里填用户名比如 root 或前面创建的普通用户也可以先不填连接时再输入。建立会话前先确认宿主机到虚拟机网络通打开 Windows 的 CMD 或 PowerShellping 192.168.20.100。不通就回头检查 4.2 的 IP 配置、VMware 的 NAT 服务是否运行。还有一个容易踩的坑Xshell 第一次连接会提示“该主机密钥尚未缓存”这是正常现象Xshell 会展示服务器的指纹点“接受并保存”之后该主机的指纹就进入 Xshell 的已知主机列表不会再问。5.2 登录验证与会话保存接受主机密钥后输入密码即可登录。登录成功后你会看到 RHEL 的命令行提示符比如[rootlocalhost ~]#。这时候输入whoami、hostname验证身份和主机名。为了避免 IP 或端口变化后重复建会话在会话属性里把会话保存下来Xshell 左侧会话管理器里右键“属性”以后直接双击进入。前面创建了普通用户并且勾选了管理员权限的话建议平时用普通用户登录需要管理员权限时用sudo -i或sudo 命令。这比一直拿 root 跑要安全尤其是后面要装软件、改配置对命令不熟悉时 root 权限误删文件后悔都来不及。Xshell 支持多标签页会话CtrlTab 切换多个连接批量管理多台虚拟机时非常方便。5.3 连接后的实用设置编码、字体与终端效果连接上以后很少有人第一时间设置终端外观但这对长期使用影响很大。打开“工具 → 选项 → 查看”字体选等宽字体字符编码保持 UTF-8配色方案选一个看着不累的。RHEL 8 系统语言如果是英文中文文件名显示为转义序列不建议为了强显中文去改系统 locale除非确定业务需要。Xshell 里有一个高频误操作在命令行里按方向键发现光标不动想“回到上一级目录”却输不对命令。其实cd ..返回上一级cd ~回用户主目录cd -回上一次所在目录这几个基础命令建议先记牢。另外在 vi/vim 里编辑时如果发现退格键没反应多半是 TERM 环境变量问题登进去执行export TERMxterm再试。6. 常见问题排查与避坑速查表6.1 网络不通与连接超时怎么查SSH 连接超时优先按这三个层次排查宿主机 ping 虚拟机通不通不通就检查 VMware 虚拟网络编辑器里 VMnet8 的网段和虚拟机 IP 是否一致以及 VMware NAT 服务是否在运行通的话继续检查虚拟机内 sshd 是否监听 22 端口用ss -tlnp | grep 22看状态。如果 ss 输出里没有 sshd 监听大概率服务没启动回到 4.3 节处理。有一个我在多台电脑上遇到的坑安装了某些“安全类软件”后Windows 防火墙会额外拦掉 VMware 的 VMnet8 网段通信现象是虚拟机自己能上网宿主机 ping 却丢包。解决方法是到 Windows Defender 防火墙的高级设置里确认 VMware NAT Service 和 VMware Authorization Service 的入站规则是允许状态或者临时关闭对这些程序的拦截来验证。还有一种低级错误虚拟机 IP 和宿主机 IP 不在同一理解错位的网段比如 NAT 模式看成桥接把 VMnet8 的网段当成物理局域网网段这种只能回头重新梳理网络拓扑。6.2 认证失败与公钥密钥相关Xshell 报“认证失败”但密码肯定没输错这个多半是账户被锁、密码过期或者 sshd 配置限制。先看/var/log/secure日志里的 sshd 记录确认是不是多次失败触发锁定。另一个常见场景你在 Xshell 的“认证”设置里选了“Public Key”但私钥和服务器上的公钥对不上自然失败。第一种情况把认证方式切回 Password 即可第二种情况需要检查~/.ssh/authorized_keys里的公钥内容是否和客户端私钥匹配。这里顺带说下很多开发同学遇到的问题“SSH 认证失败 git”本质和上面是同一类错误链客户端没有正确的密钥、服务端没有对应的 authorized_keys、或者 SSH 代理里缓存了错误密钥。排查顺序ssh -vT userhost看细节重点看Offering public key和Permission denied (publickey)这一段输出。Vmware 虚拟机里的 SSH 认证失败排查思路完全一致无非多了一个“网络是否能通”的前置判断。6.3 Xshell 使用中的小坑Xshell 7 和 8 界面有细微差异8 的会话管理更现代化7 更经典但对 SSH 功能没有本质区别。装不上的情况除了杀毒软件误报还可能是缺少 VC 运行库去微软官方下最新的 Visual C Redistributable 装上再重试。打开“工具 → 用户密钥管理器”可以查看已保存的密码和密钥列表这就是网上常说的“密码查看器”功能前提是你在会话属性里勾选了保存密码。被问得最多的一个问题“通过 SSH 连接服务器断开以后 node 服务会停”。Xshell 断开后会话里的前台进程收到 SIGHUP 信号就会终止这是 Linux 的正常机制不是 SSH 坏了。要跑长任务用nohup 命令 或者setsid更专业一点用tmux或screen开一个独立会话关掉 Xshell 再回来tmux attach就能找回现场。用 systemd 管理的服务则直接systemctl start完全不依赖终端。现象可能原因处理办法宿主机 ping 不通虚拟机VMnet8 网段不一致打开虚拟网络编辑器确认子网和网关虚拟机内部 SSH 本机失败sshd 未启动systemctl enable --now sshd连接超时防火墙未放行firewall-cmd --permanent --add-servicessh后 reload认证失败密码错误或公钥不匹配检查 /var/log/secure切换 Password 认证中文乱码终端编码不对Xshell 里设置 UTF-8 编码回车后命令没反应键盘类型或 TERM 问题export TERMxterm断开后任务被杀前台进程收到 SIGHUP用 tmux、nohup 或 systemd 托管整套流程跑下来我的体会是VMware 17 装 RHEL 8 本身不难难点永远在网络和服务这两层——网络模式选错、静态 IP 没配好、防火墙没放行、sshd 没启动任何一个环节断了Xshell 看到的都是冷冰冰的 timeout。所以别急着把锅甩给工具按“宿主机能 ping 通虚拟机 → 虚拟机内 SSH 能连自己 → Xshell 能连虚拟机”这个顺序排查95% 的问题十分钟内能定位。最后分享一个小习惯所有虚拟机建议装完系统立刻配固定 IP 和主机名并给 VMware 快照留一个“初始干净状态”后面折腾坏了随时回滚比重装省太多时间。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进