Jak ssh na serwerze działającym w sieci domowej, za routerem?

22

Okej, więc mam komputer w sieci domowej, na Ubuntu na maszynie wirtualnej z zainstalowanym serwerem openssh.

  1. Jak mogę uzyskać do niego zdalny dostęp z innego komputera poza siecią domową za pomocą Internetu?
  2. Jakiego adresu IP używam do łączenia się z nim?
  3. Jakiego rodzaju przekierowanie portów muszę wykonać?
Hugo Lobo
źródło
Z jakiego rodzaju sieci korzysta maszyna wirtualna? Do typowego użytku domowego zalecany jest mostek, następnie do celów sieciowych maszyna wirtualna będzie odpowiednikiem fizycznej maszyny, więc przekierowanie portów na routerze odbywa się jak zwykle.
fkraiem
W obszarze Ustawienia sieciowe na mojej maszynie wirtualnej napisano, że karta sieciowa jest podłączona do NAT. Oto zrzut ekranu: link Czy muszę to zmienić?
Hugo Lobo
Umieszczenie go w trybie pomostowym ułatwi, tak. (Zasadniczo z NAT musisz przekierować port dwa razy, na routerze i w
VBox
w rzeczywistości nie potrzebujesz przekierowania portów, gdy maszyna, z której chcesz się połączyć, jest widoczna na twoim lokalnym serwerze - wystarczy nam -Lflaga na polecenie ssh - ale upewnij się, że połączenie utrzymuje się przy życiu - uruchom htop lub coś podobnego, aby zachować transfer danych.
Roomy

Odpowiedzi:

22

Jest wiele rzeczy, które musisz zrobić:

1) Jak fkraiem wspomniany w swoim komentarzu, upewnij się, że twoja maszyna wirtualna jest dostępna w sieci lokalnej. Należy to zrobić za pomocą połączenia sieciowego typu „bridge” w ustawieniach maszyny wirtualnej. Następnie za pomocą jednego z innych komputerów (nawet hosta) sprawdź, czy możesz zalogować się do serwera SSH. Jeśli możesz, gratulacje, przejdźmy do następnego kroku.

2) Następnie musisz wiedzieć, jak przekierować na router. Ponieważ nie wspomniałeś o tym, jaki router masz, musisz to sam ustalić. Port 22 jest wykorzystywany przez SSH. Oczywiście możesz nasłuchiwać na wyższym porcie routera, aby uniknąć zapełniania dzienników przez grupę skryptułów próbujących włamać się do twojego serwera, a następnie przekierować port do 22 na twoim serwerze. Na przykład, wyobraźmy sobie, że twój lokalny adres IP serwera to 192.168.0.10. Twój adres IP sieci WAN (Internet) to 99.99.99.99.

99.99.99.99:60022 -> Router -> 192.168.0.10:22

Co chcesz zrobić, to powiedzieć routerowi, aby nasłuchiwał na porcie 60022, i przekierował go na adres IP 192.168.0.10 i port 22.

Aby dowiedzieć się, jaki jest twój WAN IP, po prostu google „jaki jest mój adres IP”. Istnieją inne sposoby, ale jest to najłatwiejsze.

Teraz, po skonfigurowaniu routera, spróbuj połączyć się z komputerem zewnętrznym z WAN IP za pomocą wyższego portu. Możesz to zrobić za pomocą telefonu komórkowego do laptopa.

Jeśli możesz się z tym połączyć, gratulacje jeszcze raz.

3) Teraz musisz upewnić się, że adresy IP pozostają statyczne w sieci lokalnej i musisz uzyskać dynamiczny wpis DNS dla twojego adresu IP WAN. W ten sposób użyjesz nazwy domeny zamiast adresu IP WAN. Google „dynamiczne dns”, aby znaleźć bezpłatną usługę.

Mam nadzieję, że to pomogło.

G Trawo
źródło
Czy to „99.99.99.99:60022 -> Router -> 192.168.0.10:22” jest właściwym poleceniem? co oznacza „router”? Mam na myśli, co tu się dzieje?
m4l490n
@ m4l490n Nie, to nie jest polecenie. To po prostu sposób na pokazanie „przepływu” połączenia. 99.99.99.99 to tylko adres IP, który wybrałem. Mógłbym również wyświetlić XXX.XXX.XXX.XXX, ale łatwiej mi zrozumieć liczby. 60022 to port „zewnętrzny”, na którym nasłuchuje router. Następnie przekierowuje port na wewnętrzny adres 192.168.0.10 i przenosi go do portu 22. Powodem, dla którego nie wdałem się bardziej szczegółowo, jest to, że OP nie podał, jakiego routera (i oprogramowania układowego) używa.
G Trawo
4

Moje osobiste ustawienia są następujące:

  1. Na porcie przekierowania routera 22 z komputera zdalnego do 2222 komputera lokalnego, powiedzmy na przykład 192.168.0.33. W ten sposób nadal możesz mieć dostęp ssh do głównego systemu operacyjnego na maszynie, podczas gdy 2222 dotyczy wirtualnego systemu operacyjnego.

    wprowadź opis zdjęcia tutaj

    1. W polu wirtualnym przekaż port 2222 systemu operacyjnego hosta 192.168.0.33 do portu 22 systemu operacyjnego gościa. Adres IP gościa można znaleźć za pomocą ifconfigpolecenia na samym gościu.

    wprowadź opis zdjęcia tutaj

Teraz, jeśli znasz adres IP routera, możesz ssh do adresu IP routera, a zostanie on automatycznie przekierowany do portu 2222 twojej fizycznej maszyny. Maszyna fizyczna zapewni to połączenie z portem 22 maszyny wirtualnej (pod warunkiem, że maszyna wirtualna jest uruchomiona).

Jeśli chcesz ssh z sieci lokalnej, użyj ssh -p 222 192.168.0.33

Sergiy Kolodyazhnyy
źródło