Virtualbox: запустить vboxmanage на хосте windows через SSH?

я запускаю virtualbox 4.3.16 на 64-битном хосте Windows 7 с несколькими гостями Linux.

мне нужно, чтобы иметь возможность выдавать команды выключения от одного гостя к другому, но vboxmanage команда не работает при запуске через SSH-сервер cygwin.

vboxmanage работает должным образом при запуске в оболочке cygwin на хосте, но через SSH vboxmanage list vms не дает никаких выходных данных, и виртуальные машины не могут быть доступны.

вот что я получаю, когда пытаюсь выключить одну виртуальную машину SSH:

$ vboxmanage --nologo controlvm "rsfe1" poweroff
vboxmanage.exe: error: Could not find a registered machine named 'rsfe1'
vboxmanage.exe: error: Details: code VBOX_E_OBJECT_NOT_FOUND (0x80bb0001), component VirtualBox, interface IVirtualBox, callee IUnknown
vboxmanage.exe: error: Context: "FindMachine(Bstr(a->argv[0]).raw(), machine.asOutParam())" at line 95 of file VBoxManageControlVM.cpp

пытается "пристроить" ВМ на счет sshd, не работает:

$ vboxmanage registervm "d:virtual machinesrsfe1rsfe1.vbox"
vboxmanage.exe: error: A differencing image of snapshot {10077c46-d5cf-4402-88c0-f0458dd07f74} could not be found. Could not find an open hard disk with UUID {9404b00e-7b04-460f-8a62-6495885744de}
vboxmanage.exe: error: Details: code E_FAIL (0x80004005), component SnapshotMachine, interface IMachine, callee IUnknown
vboxmanage.exe: error: Context: "OpenMachine(Bstr(a->argv[0]).raw(), machine.asOutParam())" at line 88 of file VBoxManageMisc.cpp

все виртуальные машины были созданы под моей учетной записью обычного пользователя myuser. Я также аутентификации как myuser через SSH.

Я думаю, проблема в том, что Cygwin SSHd работает как привилегированный пользователь cyg_server и что-то не работает сразу при входе в систему при переносе сессии на myuser.

я попытался запустить службу cygwin SSHd как myuser но сервис требует больше привилегий, чем учетная запись имеет, кажется, и не запускается.

есть ли решение для этого? Любые возможные манипуляции переменной среды?

5
задан André Fernandes
источник

2 ответов

Да, это больно. Я закончил тем, что проделал сложную работу для этого именно из-за всех проблем вокруг VirtualBox, Cygwin, аутентификации и пользователей, под которыми работают соответствующие службы.

быстрый вариант для вас, чтобы попробовать, включить сеть между самими виртуальными машинами, так что VBoxGuest1 может войти через SSH для VBoxGuest2 непосредственно и выдать соответствующую команду выключения.

Если это не работает, вы можете сделать то, что я сделал. Я установил VBoxVMService, перейдите в раздел службы компонентов- > компьютеры - >Мой компьютер - >Конфигурация DCOM - >свойства приложения VirtualBox и выберите моя личность. Затем я установил BITVISE SSH сервер (не Cygwin .. поэтому, если вы действительно хотите Cygwin, я не знаю, что делать). Теперь все работает без проблем. Возможно, это немного затянуто для того, что вы хотите сделать, но я был бы признателен, если бы кто-то еще дал ответ.

1
отвечен Hari Sundararajan 2014-11-05 03:19:13
источник

У меня была та же проблема, как описано Андре, используя SSH (из виртуального CentOS 7 на том же хосте) в Windows 7 Pro через BitVise SSH Server.

Я могу подтвердить, что решение, описанное Хари, установки удостоверения в компоненте Services - > Computers - >My Computer - >DCOM Config - >VirtualBox свойства приложения " интерактивный пользователь "(это было первоначально на" запуск пользователя") решена проблема (после перезагрузки, чтобы активировать изменение). Мне не нужно было устанавливать VBoxVMService.

Энди

0
отвечен Andreas Maier 2015-11-15 21:31:31
источник

Другие вопросы cygwin linux ssh virtualbox windows