这期我们来探讨如何通过 ESXi SSH 连接访问到在该 ESXi 主机上的虚拟机,也就是怎么从ESXi访问到一个VM的内部。
有时做VMware运维会遇到这样一种情况:虚拟机的网络配置正常,但由于某些网络或系统问题,突然之间外部无法访问这台虚拟机,ping 也不通。这台虚拟机同样无法 ping 通外部网络,包括网关。此时,唯一可以正常访问该虚拟机的只有宿主机 ESXi 主机。在这种情况下,如果需要从这台虚拟机中提取一些文件或日志,就只能通过 ESXi 主机来进行操作。
那么,如何通过 ESXi 主机获取虚拟机内部的文件呢?
怎么通过ESXi获取虚拟机内部的文件
一些前提条件:
- 首先确认ESXi可以与该VM通讯,必须从ESXi可以ping通VM。
- ESXi启用SSh (最重要的是ESX的防火墙要开启ssh client访问
- VM内部网络和防火墙要打开,SSH服务要启用
假如我们这个虚拟机是一台ubuntu Linux,我们先检查防火墙和sshd服务,可以通过以下命令:
sudo ufw status
sudo systemctl status 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的目录
Tag:
如何通过ESXi SSH连接访问虚拟机
ESXi主机如何获取虚拟机内部文件
ESXi通过SSH连接虚拟机提取日志
从ESXi访问VM内部的详细步骤
无法从外部访问虚拟机时如何用ESXi获取文件
通过ESXi主机的SSH访问虚拟机网络配置
使用ESXi的SSH和SCP命令访问虚拟机
ESXi与虚拟机SSH连接问题及解决方法
如何从ESXi主机传输虚拟机中的文件到本地
通过ESXi解决虚拟机网络连接失败的问题