Mam maszynę Wirtualną Ubuntu uruchomioną na moim komputerze z systemem Windows 7. Jak skonfigurować, aby uzyskać dostęp do serwera zewnętrznego za pośrednictwem SSH?
Znalazłem kroki ( konfiguracja dostępu SSH między VirtualBox Host i maszynami wirtualnymi gościa ), aby móc ssh do mojego gościa z mojego hosta, ale nadal mam problem z dostępem do niego przez mój router.
Przypuszczam, że mógłbym zainstalować serwer SSH na moim komputerze z systemem Windows, a następnie kilka razy tunelować (chociaż nie jestem w 100% pewien, czego użyć w kontekście lokalnym, dynamicznym itp. Lub jak skonfigurować wiele tuneli?), ale czy istnieje sposób, aby maszyna wirtualna była bezpośrednio dostępna dla mojego routera, aby móc bezpośrednio przekierować na nią?
ssh
virtualbox
Jordania
źródło
źródło
Odpowiedzi:
Najlepszym sposobem zalogowania się do gościa Linux VirtualBox VM jest przekierowanie portów . Domyślnie powinieneś mieć już jeden interfejs, który używa NAT . Następnie przejdź do ustawień sieci i kliknij przycisk Przekierowywanie portów . Dodaj nową regułę . Jako nazwę reguły wstaw „ssh”. Jako „Port hosta” wstaw 3022. Jako „Port gościa” wstaw 22. Całą resztę reguły można pozostawić pustą.
lub z linii poleceń
gdzie „mój serwer” to nazwa utworzonej maszyny wirtualnej. Sprawdź dodane reguły:
To wszystko! Upewnij się, że nie zapomnisz zainstalować serwera SSH na maszynie wirtualnej:
Aby SSH na maszynie wirtualnej gościa, napisz:
Gdzie
user
jest twoja nazwa użytkownika w maszynie wirtualnej.źródło
ssh -p 3022 [email protected]
To był jeden krok, którego mi brakowało i po prostu poszedłem znaleźć na innej stronie.Host mybox HostName 127.0.0.1 User myuser Port 3022
do tego pliku następujące (sam dodaj wcięcie), a potem wystarczy tylko zassh mybox
każdym razem :)Zmień typ adaptera w VirtualBox na zmostkowany i ustaw gościa na używanie DHCP lub ustaw statyczny adres IP poza granicami DHCP. Spowoduje to, że maszyna wirtualna będzie działać jak normalny gość w sieci domowej. Następnie możesz przekierować.
źródło
Utrzymanie adaptera NAT i dodanie drugiego adaptera tylko hosta działa niesamowicie i ma kluczowe znaczenie dla laptopów (gdzie sieć zewnętrzna zawsze się zmienia).
http://muffinresearch.co.uk/archives/2010/02/08/howto-ssh-into-virtualbox-3-linux-guests/
Pamiętaj, aby utworzyć sieć tylko dla hosta w samym virtualboxie (GUI -> ustawienia -> sieć), w przeciwnym razie nie możesz utworzyć interfejsu tylko dla hosta na gościu.
źródło
/etc/network/interfaces
, dzięki!ssh
,sftp
itd), ponieważ trzeba było przejść przez niestandardowym porcie.Jak zrobić sieć tylko dla hosta ( lepszą niż zmostkowaną) dla Solaris 10 i Ubuntu 16.04
Dodaj interfejs tylko do hosta
Uruchom cmd.exe i uruchom
ipconfig /all
. Powinieneś zobaczyć linie:Drugi adapter w gościu powinien również znajdować się w 192.168.59. *.
Uruchom maszynę wirtualną.
Solaris 10
ifconfig -a
. Powinieneś zobaczyć e1000g0 i e1000g1. Jesteśmy zainteresowani e1000g1.ifconfig e1000g down
ifconfig e1000g 192.168.56.10 netmask 255.255.255.0 up
ping 192.168.56.10
Zachowaj te ustawienia po ponownym uruchomieniu
Skonfiguruj usługę ssh ( administrowanie ), aby logowała się jako root (nie zalecane)
Sprawdź, czy ssh jest włączony
Zmodyfikuj / etc / ssh / sshd_config, aby już istniał
Uruchom ponownie usługę ssh
Sprawdź od hosta
Ubuntu 16.04
Lista interfejsów:
Powinieneś zobaczyć trzy interfejsy, takie jak lo, enp0s3, enp0s8. Użyjemy trzeciego.
Edytuj / etc / network / interfaces
Potem
sudo ifup enp0s8
. Sprawdź, czy enp0s8 ma poprawny adres. Powinieneś zobaczyć swój ip:Jeśli nie, możesz uciec
sudo ifdown enp0s8 && sudo ifup enp0s8
/superuser/424083/virtualbox-host-ssh-to-guest/424115#424115
źródło
192.168.59.1
i podasz192.168.56.10
statyczny adres IP gościa. Cały adres podsieci klasy C musi być dokładnie taki sam, więc192.168.59.10
zamiast tego musiałbyś użyć czegoś takiego jak wewnątrz gościa.Można również użyć Bridged Network (lub „Most Adapter”, w nowszych wersjach) w ustawieniach sieciowych . Spowoduje to umieszczenie maszyny wirtualnej w sieci VLAN na komputerze. Możesz więc po prostu ssh na maszynie wirtualnej w ten sposób.
źródło
Aby ssh do maszyny Wirtualnej Ubuntu uruchomionej w VirtualBox z komputera hosta, musisz skonfigurować dwie karty sieciowe dla maszyny wirtualnej.
Przede wszystkim zatrzymaj maszynę wirtualną, jeśli jeszcze nie.
Następnie wybierz maszynę wirtualną i kliknij menu Ustawienia na pasku narzędzi VirtualBox:
Skonfiguruj adapter 1
Skonfiguruj adapter 2
(Uwaga: nie trzeba konfigurować przekierowania portów).
Otóż to. Po skonfigurowaniu możesz uruchomić maszynę wirtualną. Na twojej maszynie wirtualnej konfiguracja sieci będzie wyglądać jak poniżej i będziesz mieć również dostęp do Internetu:
Również na maszynie hosta możesz ssh na maszynie wirtualnej:
Upewnij się, że serwer SSH został zainstalowany i działa na maszynie wirtualnej.
Jeśli nie, zainstaluj:
Również dla twojej informacji:
źródło
File > Host Network Manager > Create
Odpowiedzi udzielone przez innych użytkowników tutaj:
How to SSH to a VirtualBox guest externally through a host?
... pomógł mi wykonać zadanie połączenia z Internetu z maszyną gościa mojego komputera domowego. Powinieneś być w stanie łączyć się za pomocą komputerów, tabletów i smartfonów (Android, iPhone itp.). Dodaję jeszcze jeden krok na wypadek, gdyby mógł być pomocny dla kogoś innego:
Oto krótki schemat mojej konfiguracji:
Remote device ---> INTERNET --> MODEM --> ROUTER --> HOST MACHINE --> GUEST VM
Remote device (ssh client) ---> PASS THRU DEVICES ---> GUEST VM (ssh server)
Remote device (leave ssh port 3022) ---> INTERNET --> MODEM --> ROUTER (FWD frm:p3022 to:p3022)--> HOST MACHINE (FWD frm:p3022 to:p22) --> GUEST VM (arrive ssh port 22)
Kluczem było dla mnie uświadomienie sobie, że WSZYSTKIE połączenia były
PASSING-THROUGH
urządzeniami pośredniczącymi, które mogły dostać się z mojego zdalnego komputera do wirtualnej maszyny gościa w domu - stąd przekierowanie portów!Uwagi: * Potrzebujesz klienta ssh do żądania bezpiecznego połączenia i działającego serwera ssh do przetworzenia bezpiecznego połączenia.
Prześlę port 3022 zgodnie z wybraną odpowiedzią z góry.
W razie potrzeby wprowadź adresy IP (modem domowy / router, adres IP hosta, adres IP gościa itp.). Wybrane nazwy to tylko przykłady użycia lub zmiany.
1. Utwórz tunel ssh do portu 3022 na zewnętrznym adresie IP / routera modemu.
ssh client/device possible commands: ssh -p 3022 user-name@home_external_IP
2.Port do przodu = przechodzimy przez połączenie z routera do hosta
Upewnij się także, że reguły zapory / IPtable na routerze pozwalają na przekazywanie portów (otwórz w razie potrzeby)
Wymagane wpisy EKRANU Pfwd routera: Nazwa aplikacji: SSH_Fwd, Port_from: 3022, Protokół: oba (UDP / TCP), Adres IP: hostIP_address, Port_to: 3022, wszystko inne może być puste
Zasoby oprogramowania routera DD-WRT / Informacje:
DD-WRT Port_Forwarding
DD-WRT Static_DHCP
3.Host Machine Firewall: otwórz port 3022 # tak przekierowany port może przejść przez maszynę gościa
Maszyna hosta: zainstaluj VirtualBox, dodatki gości i maszynę gościa, jeśli jeszcze tego nie zrobiono
Skonfiguruj maszynę gościa, a następnie postępuj zgodnie z poniższą sekcją Sieć
Użyłem interfejsu VirtualBox GUI do skonfigurowania sieci gościa - łatwiejszej niż CLI
Jeśli chcesz użyć innych metod, zapoznaj się z:
VirtualBox/manual/ch06.html#natforward
4. Niektórzy sugerują użycie adaptera mostka sieciowego dla gościa = dostęp do sieci LAN i innych urządzeń w sieci LAN. Stanowi to również zwiększone zagrożenie bezpieczeństwa, ponieważ teraz twoja maszyna-gość jest teraz narażona na maszyny LAN i hakerów INTERNETU, jeśli zapora ogniowa nie zostanie poprawnie skonfigurowana. Wybrałem więc adapter sieciowy podłączony do NAT, aby zmniejszyć narażenie na zmostkowane zagrożenia bezpieczeństwa.
Na maszynie gościa wykonaj następujące czynności:
Istnieją również różne serwery ssh i klienci w zależności od używanej platformy.
wikipedia/Secure_Shell
wikipedia/Comparison_of_SSH_servers
wikipedia/Comparison_of_SSH_clients
Dla użytkowników Ubuntu:
ubuntu community: SSHOpenSSH/Configuring
ubuntu/community: OpenSSH/Keys
To powinno być to. Jeśli popełniłem błąd lub chciałem coś dodać - nie krępuj się tego zrobić - nadal jestem notobem.
Mam nadzieję, że to komuś pomoże. Powodzenia!
źródło
W przypadku hosta Windows możesz:
źródło
Możesz również zainicjować port przekierowujący do Gościa lub DOWOLNEGO SERWERA od Gościa. Jest to szczególnie przydatne, jeśli gość jest „zablokowany” lub w inny sposób nie może ukończyć opcji ModifyVM (np. Brak pozwolenia na VBoxManage).
Trzy drobne wymagania to: 1) jesteś / możesz zalogować się do VirtualBox Guest (poprzez GUI konsoli, inny gość itp.), 2) masz konto w VirtualBox HOST (lub innym serwerze) oraz 3) SSH i TCP przekazywanie nie jest blokowane.
Zakładając, że możesz spełnić 3 wymagania, są to następujące kroki:
netstat -rn
i znajdź adres bramy do domyślnego miejsca docelowego trasy 0.0.0.0. Powiedzmy, że to „10.0.2.2”. Ten adres „Bramy” to (jeden z) wirtualnych adresów IP hosta VirtualBox.ssh -R 2222:localhost:22 10.0.2.2
gdzie „10.0.2.2” to adres IP serwera VirtualBox - LUB - dowolny inny adres IP serwera, na który chcesz przekierować.ssh 10.0.2.2 -p2222
gdzie 10.0.2.2 jest domyślną bramą / wirtualnym adresem IP VBHost znalezionym w kroku 1. Jeśli NIE jest to host VirtualBox, do którego przekierowujesz port, wówczas polecenie tossh localhost -p2222
źródło
Wykonaj poniższe kroki, aby zalogować się do maszyny wirtualnej Ubuntu działającej w wirtualnym pudełku z komputera hosta za pomocą putty (bez przekierowywania portów):
W menedżerze Virtualbox wybierz maszynę wirtualną, kliknij ikonę ustawień. Następnie przejdź do Sieci i włącz dwie karty, jak poniżej:
Uruchom Ubuntu VM.
Zmodyfikuj plik „/ etc / network / interfaces” jak poniżej i zapisz:
Uruchom ponownie maszynę wirtualną.
Zaloguj się do maszyny wirtualnej i uruchom poniższe polecenie, aby sprawdzić adres IP przypisany do eth1:
Użyj tego adresu IP, aby otworzyć sesję Kit dla maszyny wirtualnej.
źródło
Dobre wyjaśnienie dotyczące konfiguracji przekierowania portów za pomocą NAT można znaleźć w dokumentach VirtualBox: http://www.virtualbox.org/manual/ch06.html#natforward
źródło
Ubuntu 18.04 LTS
Konfiguracja z mostkiem, aby zobaczyć adres IP serwera i połączyć się bez „przekierowywania portów”
VirtualBox> kliknij prawym przyciskiem myszy na serwerze> ustawienia> Sieć> włącz adapter 2> wybierz „zmostkowany”> Tryb rozwiązły: zezwól wszystkim> Sprawdź podłączony kabel> uruchom serwer
Na serwerze Ubuntu edytuj
sudo nano /etc/netplan/*init.yaml
plik,Mój przykładowy plik:
Polecenia, które ci pomogą
Konfiguruj statyczne adresy IP na serwerze Ubuntu 18.04 LTS - za pomocą NetPlan
źródło
Po prostu ustawienie Mostka na Ustawienia sieciowe pomogło mi.
Twoje IP zmieni się, gdy to zrobisz. Jednak w moim przypadku nie zmieniło się to natychmiast.
ifconfig
zwrócił ten sam adres IP. Uruchomiłem ponownie vm i boom, sam ip ustawił się na jeden od 192. * i natychmiast uzyskałem dostęp do ssh.źródło
W sieciach bezpiecznych ustawienie sieci jako mostka może nie działać. Administratorzy mogą zezwolić tylko na jeden adres MAC na port lub, co gorsza, blokować port, jeśli przełączniki wykryją wiele Mac na jednym porcie.
Moim zdaniem najlepszym rozwiązaniem jest skonfigurowanie dodatkowych interfejsów sieciowych do obsługi dodatkowych usług, które chcesz uruchomić na swoich komputerach. Mam więc interfejs mostka, który pozwala na mostkowanie, kiedy zabieram laptopa do domu i mogę SSH do niego z innych urządzeń w mojej sieci, a także adapter tylko hosta, gdy chcę SSH do mojej maszyny wirtualnej z mojego laptopa, gdy jestem podłączony do sieci Wi-Fi eduroam w kampusie.
źródło
Użyj karty sieciowej NAT i dodaj port do przodu. Podaj rzeczywisty host ip. Nie używaj 127.0.0.1 ani hosta lokalnego.
źródło