RDP do VirtualBox w systemie Windows

13

Mój współpracownik ma starego Maca i musi coś przetestować w systemie Windows. Jego komputer Mac nie ma wystarczającej mocy, aby uruchomić maszynę wirtualną, więc potrzebuje tych, które mam. Mam kilka maszyn wirtualnych, które pasują do jego potrzeb.
Rozwiązaniem, o którym myślałem, było hostowanie maszyn wirtualnych i połączenie się z nimi za pośrednictwem protokołu RDP. Jeśli masz prostsze rozwiązania, jestem cały w uszach. I nie, nie mamy (jeszcze) lokalnego serwera do uruchamiania maszyn wirtualnych w trybie bezgłowym (byłoby idealnie).

Używam VirtualBox 4.2.12, hostowanego na Windows 7 Pro. Maszyna wirtualna, której używam, jest pobierana ze strony http://www.modern.ie ; teraz próbuję z Windows 7 Enterprise.
Dodatki VirtualBox są instalowane w systemie-gościu; Na wszelki wypadek zainstalowałem je ponownie.

W konfiguracji maszyny wirtualnej na karcie Wyświetlanie / dostęp zdalny zaznaczyłem „Włącz serwer”, port 3390, brak uwierzytelnienia, zezwalaj na wiele połączeń. Próbowałem również z różnymi losowymi portami, z tym samym rezultatem

Na karcie Sieć wypróbowałem translator NAT i łączę:

  • Kiedy używać „NAT”, gdy próbuję się połączyć m.y.i.p:3390za pomocą mstsc, dostaję komunikat: Your computer could not connect to another console session on the remote computer because you already have a console session in progress. Nie mogę znaleźć wiele na temat tego błędu w Google i nic, co znalazłem, nie działało, tak jak tutaj .
  • Gdy korzystam z „mostu”, pojawia się klasyczny komunikat, gdy próbujesz połączyć się z komputerem, który nie istnieje lub ma wyłączony protokół RDP, używając adresu IP maszyny wirtualnej, nawet jeśli wyłączyłem zaporę na maszynie wirtualnej.

Zapora została wyłączona zarówno w systemie operacyjnym gościa, jak i hosta.

Czy masz pomysł, jak mogę uzyskać zdalny dostęp do tych maszyn wirtualnych?

Dzięki

Thomasb
źródło
Wypróbować inny numer portu? Sprawdź swoją zaporę ogniową?
David
Wypróbowałem inne porty i wyłączyłem zaporę na systemie operacyjnym hosta i gościa.
thomasb
@thomasbtv: Czy próbowałeś użyć nazwy hosta VM zamiast adresu IP?
James P.
Mój problem polegał na zainstalowaniu starszej wersji pakietu rozszerzeń; został wyłączony bez komunikatu o błędzie pokazującego, kiedy uruchomiono maszynę wirtualną. Oto jak zaktualizować: forums.virtualbox.org/viewtopic.php?f=7&t=44337
user423430

Odpowiedzi:

19

Znalazłem niezbyt przyjazne, ale działa rozwiązanie:

W ustawieniach maszyny wirtualnej:

  • Ustaw port RDP na cokolwiek (działa z 5030)
  • Ustaw dostęp sieciowy do NAT
  • Przejdź do Sieć> Zaawansowane> Przekierowanie portu, dodaj następujący wiersz:
    RDP ; TCP ; host's IP ; 5030 ; 10.0.2.15 ; 3389

Adres IP hosta musi być rzeczywistym adresem IP hosta, jeśli chcesz połączyć się z innym komputerem, lub 127.0.0.1, jeśli chcesz połączyć się z komputerem hosta.

Wygląda na to, że wszystkie moje maszyny wirtualne mają 10.0.2.15 jako adresy IP, ale może to przypadek. Sprawdź to, jeśli to nie działa.

W systemie-gościu sprawdź, czy protokół RDP jest włączony: na Win7 kliknij prawym przyciskiem myszy komputer> właściwości> Ustawienia zdalne (na lewym panelu)> Zezwalaj na połączenia (użyłem „mniej bezpiecznego”)

Maszyny wirtualne pobrane ze strony modern.ie mają funkcję „automatycznego logowania”, która jest ogólnie przyjemna, ale denerwująca w tym scenariuszu (może uniemożliwić zalogowanie się). Na Win7 uruchom „netplwiz” i zaznacz „Użytkownicy muszą wprowadzić nazwę użytkownika i hasło”. Hasło użytkownika można znaleźć tutaj (to Passw0rd!)

Thomasb
źródło
Upewnij się również, że zapora sieciowa w systemie Windows jest wyłączona. Można to zrobić poprzez wykonanie następujących sesji lub wiersza poleceń PowerShell: netsh advfirewall set allprofiles state off.
Carlos Nunez
Pamiętaj, aby włączyć RDP na gościu! Jeśli tego nie zrobisz, pojawi się paskudne „odmowa połączenia przez hosta”
phil
... i uważaj na wszystko, co ją wyłącza, na przykład instalacje Avast / AVG.
mckenzm
3

Powyższa odpowiedź (by cosmo0) powinna rozwiązać problem, chyba że potrzebujesz uwierzytelnionego połączenia. Do uwierzytelniania, należy wybrać externalw VM Ustawienia> Wyświetlacz> Wyświetlacz> Remote Authentication Method . Następnie w kliencie RDP naciśnij Pokaż opcje i zaznacz Pozwól mi zapisać poświadczenia . Naciśnij Connect, aby wyświetlić okno dialogowe logowania / hasła.


Jeśli to nie działa, utwórz użytkownika RDP w następujący sposób. Zlokalizuj VBoxManage.exenarzędzie wiersza polecenia (w moim przypadku było C:\Program Files\Oracle\VirtualBox\) i wykonaj następujące polecenia, gdy maszyna wirtualna jest wyłączona:

VBoxManage internalcommands passwordhash "your_password"

dostaniesz tutaj skrót. Skopiuj to. Następnie kontynuuj:

VBoxManage setproperty vrdeauthlibrary "VBoxAuthSimple"
VBoxManage modifyvm "your_VM_name" --vrdeauthtype external
VBoxManage setextradata "your_VM_name" "VBoxAuthSimple/users/your_username"
your_hash

W ten sposób utworzysz użytkownika RDP, który powinien działać. UWAGA, ten użytkownik NIE jest powiązany z żadnym istniejącym użytkownikiem w systemie gościa lub hosta, tylko dla VirtualBox.

nazikus
źródło
1

To powinno działać bez uruchamiania serwera na VM. To serwer VirtualBox, z którym się łączysz.

Rozpoczęcie bezgłowe nie powinno być konieczne.

Używaj innego portu, dla którego włączono protokół RDP dla „klienta”. Zezwalaj na wiele ekranów.

mckenzm
źródło