Estou executando o VirtualBox 4.3.16 em um host do Windows 7 de 64 bits com alguns convidados do Linux.
Eu preciso ser capaz de emitir comandos poweroff de um convidado para outro, mas o comando vboxmanage
não está funcionando quando executado através do servidor SSH do cygwin.
vboxmanage
funciona como esperado quando executado em um shell cygwin no host, mas via SSH vboxmanage list vms
não está dando saída e as VMs não podem ser acessadas.
Veja o que estou recebendo quando tento desligar uma VM por 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
Tentar "anexar" a VM à conta sshd também não funciona:
$ vboxmanage registervm "d:\virtual machines\rsfe1\rsfe1.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
Todas as VMs foram criadas sob minha conta de usuário normal myuser
. Eu também estou autenticando como myuser
via SSH.
Eu acho que o problema é que o SSHD cygwin é executado como um usuário privilegiado cyg_server
e algo não funciona corretamente no login quando a sessão é transferida para myuser
.
Eu tentei executar o serviço SSHD cygwin como myuser
, mas o serviço requer mais privilégios do que a conta parece e não executa.
Existe alguma solução para isso? Qualquer manipulação de variável de ambiente possível?