Существует несколько способов запуска команд на размещенной ("гостевой") машине с внешнего "хоста".
Что мне нужно, так это обратное: после включения виртуальной машины мне нужно, скажем, открыть веб-страницу на сервере, работающем внутри ВМ, с браузером, работающим вне ВМ.
На самом деле я не хочу запускать команду от гостя - на самом деле было бы даже лучше, если бы хост все это сделал, включил виртуальную машину и выполнил команду, а гостя не было.
Так как хозяин запускает гостя, я бы подумал, что он будет снабжен каким-то хуком после запуска. Конечно, хост может знать, когда виртуальная машина была включена, но не может знать, когда она закончила загрузку (хотя, возможно, с добавлением VirtualBox Tool ...?).
Я подумал, что есть способ использовать протокол связи VM для этого, конечно, с необходимой защитой - может быть веская причина для запуска чего-то в виртуальной машине и не выпустить джина из бутылки - но, похоже, это функция недоступна вообще.
Самый близкий, который я смог прийти, - очень окольный путь:
- установить WinSSHd (SSH для Windows) на хост-компьютере, так как я не смог запустить удаленное взаимодействие PowerShell с гостевой виртуальной машины Linux
- подключить сценарий включения на гостевой машине
- создать ключ SSH на гостевой и установить его как доверенный на хосте
- выполнить команду SSH (или более одной) от гостя к хосту
- прибыль.
Но установка SSH-демона в Windows - это не то, что мне нравится, так что ... есть ли другой способ?