VMware 虚拟机 SSH 远程连接配置指南
事情缘由
在实际开发环境中,我们经常需要远程连接到服务器上的 Linux 虚拟机进行开发和调试。然而,由于虚拟机通常运行在 NAT 网络模式下,外部网络无法直接访问虚拟机。为了解决这个问题,我们可以通过配置 VMware 的端口转发功能,将虚拟机的 SSH 端口(22端口)映射到主机上,从而实现通过主机 IP 直接访问虚拟机的目的。
具体操作
1. 确认虚拟机网络设置
- 打开 VMware Workstation
- 选择目标虚拟机
- 点击"编辑虚拟机设置"
- 在"网络适配器"选项中,确保选择"NAT"模式
2. 配置端口转发
- 在 VMware Workstation 中,点击"编辑" -> “虚拟网络编辑器”
- 选择"NAT"网络(通常是 VMnet8)
- 点击"NAT 设置"按钮
- 在"NAT 设置"窗口中,点击"添加"按钮
- 配置端口转发规则:
- 主机端口:22
- 虚拟机 IP 地址:您的虚拟机 IP 地址
- 虚拟机端口:22
- 点击"确定"保存设置
3. 验证配置
- 确保虚拟机已启动并运行
- 在虚拟机中确认 SSH 服务已启动:
sudo systemctl status sshd
- 如果 SSH 服务未启动,执行:
sudo systemctl start sshd
4. 测试连接
- 获取服务器主机的 IP 地址
- 首先在服务器主机上测试本地连接:
如果本地连接成功,说明端口转发配置正确ssh username@127.0.0.1
- 然后使用 SSH 客户端从其他机器连接:
注意:username 是虚拟机中的用户名ssh username@服务器主机IP
注意事项
- 确保服务器主机的 22 端口未被其他服务占用
- 确保虚拟机的 SSH 服务已正确安装和配置
- 如果连接失败,检查:
- 防火墙设置
- 虚拟机网络连接状态
- 端口转发规则是否正确配置
故障排除
- 如果无法连接,请检查:
- 虚拟机是否能正常访问外网
- 主机防火墙是否允许 22 端口访问
- 虚拟机的 SSH 服务是否正常运行
- 可以通过以下命令测试端口转发是否生效:
telnet 服务器主机IP 22
总结
通过以上配置,我们可以实现通过服务器主机 IP 直接访问虚拟机的 SSH 服务,大大简化了远程访问的流程。这种方式既保证了安全性,又提供了便捷的访问方式。