1. 环境准备与工具选择
在开始安装RHEL 8之前,我们需要做好充分的准备工作。作为一名长期使用Linux系统的运维工程师,我建议采用以下配置方案:
硬件要求:
- 主机至少8GB内存(推荐16GB)
- 50GB可用磁盘空间
- 支持虚拟化的CPU(Intel VT-x或AMD-V)
软件准备清单:
- VMware Workstation 17 Pro(最新稳定版)
- RHEL 8 ISO镜像(建议选择最新维护版本)
- Xshell 7(或更新版本)SSH客户端
注意:RHEL 8镜像可以从官方开发者门户获取,需要注册开发者账号。选择标准安装镜像即可满足大多数开发需求。
关于虚拟机网络模式的选择,NAT模式是最适合个人开发环境的配置。它与主机共享IP地址,同时提供独立的网络空间,既保证了网络连通性,又避免了与局域网其他设备的冲突。我在多个项目中验证过这种配置的稳定性。
2. 虚拟机创建与配置详解
2.1 新建虚拟机步骤
打开VMware后,按照以下步骤操作:
- 点击"创建新的虚拟机"
- 选择"自定义(高级)"配置
- 硬件兼容性选择Workstation 17.x
- 选择"稍后安装操作系统"
- 客户机操作系统选择Linux,版本选择"Red Hat Enterprise Linux 8 64位"
2.2 关键参数设置建议
内存分配:
- 开发环境:至少4GB
- 生产模拟环境:建议8GB以上
处理器配置:
- 核心数:根据主机CPU核心数合理分配
- 每个核心的处理器数量:1
- 总处理器核心数不超过物理机的一半
磁盘设置:
- 选择"创建新虚拟磁盘"
- 磁盘大小建议40GB(可根据需要调整)
- 选择"将虚拟磁盘拆分成多个文件"
- 磁盘类型选择SCSI
经验分享:将虚拟磁盘拆分成多个文件可以提高迁移灵活性,特别是在需要备份或移动虚拟机时。
2.3 网络与固件配置
在网络适配器设置中:
- 选择"NAT模式"
- 勾选"连接时启动"
- 高级设置保持默认
在CD/DVD配置中:
- 选择"使用ISO映像文件"
- 浏览并选择下载好的RHEL 8 ISO文件
- 勾选"启动时连接"
最后关键一步:进入"选项"标签:
- 选择"高级"
- 将固件类型改为"UEFI"
- 确认所有设置后点击完成
3. RHEL 8系统安装全流程
3.1 启动安装程序
启动虚拟机后,你会看到RHEL 8安装引导界面。这里有三个选项:
- Install Red Hat Enterprise Linux 8(标准安装)
- Test this media & install Red Hat Enterprise Linux 8(介质检测后安装)
- Troubleshooting(故障排查)
建议选择第一个选项直接安装。如果这是首次使用该ISO文件,可以选择第二个选项先验证介质完整性。
3.2 安装过程关键配置
语言选择:
- 建议选择English (United States)
- 如需中文支持,可在系统安装后添加语言包
安装目标:
- 自动识别到我们创建的虚拟磁盘
- 点击"Done"确认即可
- 不需要手动分区(除非有特殊需求)
网络和主机名:
- 点击"Network & Host Name"
- 打开以太网连接
- 设置合适的主机名(如rhel8-dev)
- 点击"Apply"
软件选择:
- 基础环境:建议选择"Server with GUI"
- 附加组件:根据需求勾选开发工具等
安装源: 保持自动检测到的本地介质即可
3.3 用户与root密码设置
在安装即将完成时,系统会提示设置root密码和创建用户:
- 首先设置root密码(建议复杂度高的密码)
- 点击"User Creation"创建普通用户
- 建议创建一个日常使用的非root账户
- 勾选"Make this user administrator"赋予sudo权限
- 完成设置后等待安装结束
重要提示:root密码必须足够复杂,这是系统安全的第一道防线。我通常使用密码管理器生成并保存。
安装完成后点击"Reboot"按钮重启系统。首次启动时会进行一些初始化配置,按照提示完成即可。
4. 网络配置与SSH连接
4.1 获取IP地址
系统启动后,我们需要获取虚拟机的IP地址:
- 登录系统(使用创建的用户或root)
- 打开终端
- 输入命令:
ip addr show - 查找ens33或类似接口下的inet地址
如果ip命令不可用,可以尝试安装net-tools后使用ifconfig:
bash复制sudo dnf install net-tools -y
ifconfig
4.2 SSH服务配置
RHEL 8默认安装了SSH服务,但我们需要确认其运行状态:
bash复制systemctl status sshd
如果服务未运行,启动并启用它:
bash复制sudo systemctl start sshd
sudo systemctl enable sshd
为确保SSH连接安全,建议修改默认配置:
- 编辑SSH配置文件:
bash复制sudo vi /etc/ssh/sshd_config
- 修改以下参数:
- Port 22(可更改为非标准端口增强安全)
- PermitRootLogin no(禁止root直接登录)
- PasswordAuthentication yes(允许密码认证)
- 保存后重启SSH服务:
bash复制sudo systemctl restart sshd
4.3 防火墙设置
RHEL 8使用firewalld作为默认防火墙,需要开放SSH端口:
bash复制sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
如果更改了SSH端口,需要指定端口号:
bash复制sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
5. 使用Xshell连接虚拟机
5.1 Xshell会话配置
- 打开Xshell,点击"新建会话"
- 在"连接"选项卡中:
- 名称:RHEL8-Dev(自定义)
- 协议:SSH
- 主机:虚拟机的IP地址
- 端口号:22(或自定义的SSH端口)
- 在"用户身份验证"中:
- 方法:Password
- 用户名:之前创建的非root用户
- 密码:用户密码
5.2 首次连接处理
第一次连接时会收到SSH安全警告,这是正常现象:
- 检查指纹信息是否匹配(可在虚拟机中运行
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub查看) - 确认无误后点击"接受并保存"
5.3 连接优化建议
为了提高SSH使用体验,建议进行以下配置:
- 在"终端"选项卡中:
- 缓冲区大小设为10000
- 启用"终端类型"为linux
- 在"外观"选项卡中:
- 调整合适的字体大小
- 建议使用Consolas等等宽字体
- 在"高级"选项卡中:
- 设置"保持活动"间隔为30秒
实用技巧:在Xshell中使用"选项卡式"界面可以方便地管理多个连接。我通常会为不同的服务器创建文件夹分类管理。
6. 常见问题与解决方案
6.1 网络连接问题
问题1:无法获取IP地址
- 检查VMware网络适配器设置是否为NAT模式
- 在虚拟机中重启网络服务:
bash复制sudo nmcli connection reload
sudo systemctl restart NetworkManager
问题2:能ping通但无法SSH连接
- 检查SSH服务是否运行
- 确认防火墙规则
- 验证SELinux状态(可暂时设置为permissive模式测试)
6.2 性能优化建议
- 安装VMware Tools增强性能:
bash复制sudo dnf install open-vm-tools -y
sudo systemctl enable --now vmtoolsd
- 调整虚拟机内存和CPU分配
- 在VMware设置中启用3D图形加速(如果使用GUI)
6.3 SSH连接故障排查
连接超时:
- 确认虚拟机IP地址是否正确
- 检查主机和虚拟机之间的网络连通性
- 验证VMware NAT服务是否正常运行
认证失败:
- 确认用户名和密码正确
- 检查sshd_config中的认证设置
- 查看系统日志获取详细信息:
bash复制journalctl -u sshd -f
7. 进阶配置与使用技巧
7.1 密钥认证配置
为提高安全性,建议配置SSH密钥认证:
- 在Xshell中点击"工具"→"用户密钥管理者"
- 生成新密钥(类型选择RSA,长度2048)
- 将公钥复制到虚拟机的~/.ssh/authorized_keys文件中
- 在sshd_config中禁用密码认证
7.2 会话持久化设置
对于不稳定的网络环境,可以配置:
- 在Xshell会话属性中启用"重新连接"
- 设置尝试次数和间隔时间
- 使用tmux或screen保持会话持久化
7.3 文件传输方案
除了SSH终端,还可以使用:
- Xftp与Xshell配合使用
- scp命令直接传输文件:
bash复制scp local_file user@remote_ip:/path/to/destination
- rsync进行增量同步:
bash复制rsync -avz /local/path user@remote_ip:/remote/path
在实际工作中,这套环境配置已经帮助我完成了数十个项目的开发和测试。特别是在需要隔离的开发环境中,VMware虚拟机的稳定性和RHEL 8的企业级特性相得益彰。对于刚开始接触Linux的开发者,建议先熟悉基础命令和系统结构,再逐步深入系统管理和服务配置。