怎么从ESXi SSH去虚拟机 | 怎么从ESXi获取一个VM的内部文件

怎么从ESXi SSH去虚拟机 | 怎么从ESXi获取一个VM的内部文件

这期我们来探讨如何通过 ESXi SSH 连接访问到在该 ESXi 主机上的虚拟机,也就是怎么从ESXi访问到一个VM的内部。

有时做VMware运维会遇到这样一种情况:虚拟机的网络配置正常,但由于某些网络或系统问题,突然之间外部无法访问这台虚拟机,ping 也不通。这台虚拟机同样无法 ping 通外部网络,包括网关。此时,唯一可以正常访问该虚拟机的只有宿主机 ESXi 主机。在这种情况下,如果需要从这台虚拟机中提取一些文件或日志,就只能通过 ESXi 主机来进行操作。

那么,如何通过 ESXi 主机获取虚拟机内部的文件呢?

怎么通过ESXi获取虚拟机内部的文件

一些前提条件:

  1. 首先确认ESXi可以与该VM通讯,必须从ESXi可以ping通VM。
  2. ESXi启用SSh (最重要的是ESX的防火墙要开启ssh client访问
  3. VM内部网络和防火墙要打开,SSH服务要启用

假如我们这个虚拟机是一台ubuntu Linux,我们先检查防火墙和sshd服务,可以通过以下命令:

sudo ufw status
sudo systemctl status sshd
可以看到这个ubuntu的虚拟机防火墙禁用和sshd服务已经启用

我们再SSH去到ESXi, 可以先看看ssh和scp命令有什么选项:

用以下ESXi命令,获取虚拟机内部的某一个文件(前提你要知道该文件在VM里面的完整路径)

scp 虚拟机用户名@<虚拟机的IP地址>:/完整路径/文件 /ESXi本地目录

完整的命令:scp root@10.x.x.x:/tmp/test.txt /vmfs/volumes/xxxx

注意:如果提示SSH连接超时Connection timed out的话:

ssh: connect to host 10.x.x.x port 22: Connection timed out

在ESXi防火墙启用ssh客户端ssh client

esxcli network firewall ruleset set --enabled=true --ruleset-id=sshClient

再次运行scp命令:

输入虚拟机的密码后,可以成功复制虚拟机的/tmp/test.txt到ESXi的目录

在ESXi环境中管理虚拟机时,特别是遇到外部网络访问受阻的情况下,从ESXi直接访问虚拟机内部文件是一项重要技能。无论是复制VM内部文件到本地,还是在ESXi主机上对VM文件进行操作,这些技巧能够帮助VMware管理员快速解决问题。以下是一些实用技巧的总结:

  1. 通过ESXi获取VM文件:当外部网络不可达时,通过ESXi主机的SSH访问虚拟机文件。
  2. ESXi复制VM文件到本地:使用SCP命令从虚拟机复制文件至ESXi主机。
  3. 无法从外部访问VM的解决方案:在ESXi启用SSH客户端,以确保能在外部无法连接时仍能访问虚拟机的内部数据。

在日常运维中,掌握从ESXi提取虚拟机文件的方法,不仅能够提升故障处理效率,还能确保数据的可用性和安全性。

Tag:

如何通过ESXi SSH连接访问虚拟机
ESXi主机如何获取虚拟机内部文件
ESXi通过SSH连接虚拟机提取日志
从ESXi访问VM内部的详细步骤
无法从外部访问虚拟机时如何用ESXi获取文件
通过ESXi主机的SSH访问虚拟机网络配置
使用ESXi的SSH和SCP命令访问虚拟机
ESXi与虚拟机SSH连接问题及解决方法
如何从ESXi主机传输虚拟机中的文件到本地
通过ESXi解决虚拟机网络连接失败的问题

图书推介 - 京东自营

24小时热门

需要协助?或者只是想技术交流一下,直接联系我们!

推荐更多

VMware快速入门

如何使用ESXCLI命令删除VMware ESXi上的软件包

这篇文章介绍了如何在VMware ESXi上移除VIB包,VIB包是用于扩展ESXi功能的软件组件。通过正确的方法删除不需要的VIB包,可以帮助优化系统性能并确保兼容性。