开启 VMware ESXi 的 SSH 服务

昨天收到一位 VPS 客户邮件问到一个不相关 VPS 业务的问题(这个问题已经发到相关文章的评论里),请大家把与我们 VPS 业务不相关的技术问题直接发到博客上,这样大家都可以看见和搜索到,我们也不必重复回复类似的问题和邮件了:)问题是这样的,如何把 VMware ESXi 上的虚拟机镜像文件拷贝出来?一种简单的解决办法就是用 ssh 登录 VMware ESXi 服务器,然后到相关目录直接把镜像文件拷贝出来。VMware ESXi 默认是关闭 ssh 的,那么如何开启呢?

在 VMware ESXi 3.5 控制台上直接按 “ALT + F1″ 就可以到 console,输入 “unsupported” 后回车进入 Tech Support Mode 模式,输入 root 用户名和密码登录就进入 console 了,然后编辑 inetd.conf 文件、去掉 ssh 那行注释、保存、然后重启服务就可以了:

~# vi /etc/inetd.conf
ssh stream tcp ...

~# /sbin/services.sh restart

如果是 VMWare ESXi 3.5 Update 2 版本,需要找到 inetd 进程并用 kill 带上 -HUP 选项重启这个服务进程:

~ # ps | grep inetd
5031 5031 busybox              inetd

~# kill –HUP 5031

在 VMware ESXi 4.1 上开启 ssh 功能和 VMware ESXi 3.5 不同,如果直接按 “ALT + F1″ 的话会看见以下提示信息:

Tech support mode has been disabled by your administrator

所以需要先把 Tech support mode 打开,在 VMware ESXi 4.1 上输入密码后进入界面控制台,选择 “Troubleshooting Options”,继续选择 “Enable Local Tech Support” 和 “Enable Remote Tech Support (SSH)”,这样就可以同时开启本地 console 和远程 ssh 登录。

在 VMware ESXi 5.0 上开启 ssh 功能就简单多了,直接在操作界面里 enable 就可以了。

用 ssh 登录 VMware ESXi 后就可以随心所欲了,根目录下就这么些文件和目录,层次清晰,很容易找出虚拟机镜像文件在哪,需要的话把这些镜像文件 scp 拷出来就可以了。

~ # ls /vmfs/volumes/datastore1/minix01/
minix01-d76c0df1.vswp  minix01.nvram      minix01.vmsd       minix01.vmxf
minix01-flat.vmdk      minix01.vmdk       minix01.vmx        vmware.log

评论 (6 Comments)

  1. 支持博主啊,嘿嘿,欢迎回访(*^__^*) 嘻嘻……

  2. 谢谢,感谢分享

  3. 这个太危险了,ssh的安全性不是万能的,使用完毕后应该立即注释回去啊~毕竟用ESx的工具安全性会比ssh高。顺便一句~支持博主!

  4. 非常感谢!

  5. 现在看到这个/sbin/services.sh restart就害怕,上次执行了一次,结果虚拟机客户端的东西全灰掉了,也不知道怎么恢复,现在想打开ssh(以前开着的)。所以请问下楼主,开启ssh一定要重启services么?

  6. VMware ESXi 5.0 和 5.1 版本都不用重启 services.sh

发表评论