Virtualbox. Połączenia zdalne do maszyn wirtualnych (VRDP).

Virtualbox umożliwia zdalną pracę na maszynach wirtualnych. Oznacza to, że maszyna wirtualna działa na komputerze gospodarza (na serwerze) a obraz z niej może być wyświetlany na całkiem innym komputerze  (na maszynie roboczej). Zdalnie do pulpitu maszyny wirtualnej możemy połączyć się przez sieć lub po prostu lokalnie,  z komputera gospodarza.

W programie mechanizm zdalnego pulpitu nazywa się VirtualBox Remote Display Protocol (VRDP) i do jego działania wymagane są zainstalowane dodatki Oracle VM VirtualBox and Extension Packs.
VRDP jest kompatybilne  ze znanym z systemów Windows Zdalnym Pulpitem (Remote Desktop Protocol) i może być obsługiwany przez dowolnego klienta RDP. 

Opcja zdalnych połączeń jest domyślnie wyłączona dla maszyny i można ją aktywować w menu
Ustawień maszyny/Ekran/Zdalny pulpit (Remote Display)
Zauważ, że domyślnie ustawiony jest port 3389 możesz jednak go zmienić, na przykład na port z zakresu z od 5000 do 5010. Pamiętaj tylko aby potem właściwy port podać przy łączeniu się do maszyny wirtualnej w kliencie RDP.

Jeśli maszyny wirtualne pracują na serwerze,  którego zadaniem jest tylko utrzymywanie maszyn wirtualnych  a ich obsługa (wyświetlanie pulpitu) odbywa się na stacjach roboczych  w takim przypadku odpowiednim trybem uruchomienia maszyny wirtualnej jest tryb headless. Ten tryb sprawia że na serwerze maszyn wirtualnych nie jest wyświetlany obraz z maszyny wirtualnej, co oszczędza zasoby. A szczególnie pasuje ten tryb gdy  serwer w ogóle nie ma zainstalowanego środowiska graficznego. 

Podłączenie do maszyny wirtualnej przez VRDP.
Jako że mechanizm jest kompatybilnych z protokołem RDP to możesz użyć ulubionego  dowolnego narzedzia które działa z Microsoftowym rozwiązaniem pulpitów zdalnych. 

  • W systemach Windows: polecenie mstsc.msc lub program mremoteng, czy inne
  • W systemach z rodziny Linux: xrdp. kde viewer, remina, itp

Aby się połączyć z wirtualna maszyna wystarczy podać adres IP systemu operacyjnego na wirtualnej maszynie i ewentualnie port jeśli jest inny niż domyślny 3389.  

Bezpieczeństwo połączeń zdalnych
Virtualbox daje nam opcje dodatkowego uwierzytelnienia połączeń zdalnych do maszyn wirtualnych.
Mamy do wyboru trzy metody uwierzytelnienia VRDP:

  • Brak – w tym przypadku nie jest dokonywane żadne uwierzytelnienie i wtedy może połączyć się każdy do maszyny wirtualnej znając jej adres IP i port. Nie jest to bezpieczne rozwiązanie w sieci ale  często wystarczające przy pracy z maszynami wirtualnymi działającymi tylko lokalnie.
  • Zewnętrzna – tu uwierzytelnienie następuje po przez z bibliotekę VBoxAuth, gdzie  użytkownik jest weryfikowany czy istnieje taki na maszynie wirtualnej.
    Drugi sposób poprzez bibliotekę VBoxAuthSimple – tu z kolei użytkownik musi istnieć w konfiguracji wirtualnej maszyny (plik. vbox, w tagu ExtraData). Konfiguracji tej metody czy dodania użytkownika dokonujemy z poziomu linii poleceń. 
  • Gość – metoda dostępna po zainstalowaniu Dodatków Gościa. Obecnie jeszcze w fazie testowej i nie działa poprawnie. 

Szyfrowanie połączeń RDP
Virtualbox podnosi dodatkowo bezpieczeństwo połączeń do swoich maszyn wirtualnych poprzez szyfrowanie samego połączenia zdalnego pulpitu. Konfiguracji tego dokonujemy z linii poleceń 
vboxmanage modifyvm <nazwa_maszyny_wirtualnej>  --vrdeproperty "Security/Method=negotiate"

Na koniec warto wspomnieć, że Virtualbox umożliwia także wiele połączeń zdalnych do tej samej maszyny wirtualnej (opcja Pozwól na wielokrotne połączenia). Działa to tak, że każde połączenie widzi i obsługuje ten sam pulpit konkretnej maszyny. Taki wspólny pulpit dla wielu osób.