如何知道Virtualbox VM何时可以接受SSH连接?

我正在编写一个简单的脚本来创build一个新的VirtualBox虚拟机,将其加速,然后通过SSH连接到它执行一些命令。 问题是,我必须等待一定的时间才能启动虚拟机。 目前我只是在我的脚本里睡了sleep 120分钟,睡了2分钟。 但是,我不想等待2分钟,而是在VM启动并准备好接受SSH连接时收到某种通知。 那可能吗?

PS:涉及客户添加的解决scheme将无法工作 – 客人的操作系统是香草CentOS 5.7,没有客人补充安装。

你可以用类似的东西代替sleep 120

 while :; do ssh guest && break sleep 10 done 

只要不断努力,直到你通过。

我用notify-when-up2脚本做了很多事情: http ://stromberg.dnsalias.org/~strombrg/notify-when-up2.html

它会给你一个电子邮件和一个弹出窗口,当一个端口开始接受连接,等等。

EG:when-up-up2 -n remote.host.com 22