Aby szybko pomagać innym, SSH jest bardzo przydatny, szczególnie w połączeniu z ekranem GNU. Często zdarza się, że użytkownicy stoją za routerem NAT. Nawet jeśli użytkownik może skonfigurować router, zapamiętanie hasła, znalezienie właściwych opcji itp. Zajmuje trochę czasu.
Więc jaki jest najłatwiejszy sposób, aby pomóc innym przez SSH, jeśli są za routerem NAT?
Obecnie mówię ludziom, aby otworzyli terminal, uruchom poniższe polecenie i przekaż mi swój adres IP z witryny takiej jak http://ip.appspot.com/ :
sudo apt-get install openssh-server ssh-import-id && ssh-import-id lekensteyn
Oczywiście nie zadziała to, jeśli są za routerem NAT lub mają skonfigurowaną osobistą zaporę ogniową. Czy jest coś takiego:
sshd --accept-help-from lekensteyn
Nie szukam alternatyw takich jak Teamviewer, tylko powłokę jak SSH. To powinno być również oprogramowanie typu open source.
źródło
W oparciu o twoje specyficzne potrzeby prawdopodobnie:
Zapomniałem również, że możesz wypróbować tunel zwrotny ssh , chociaż technicznie to rozwiązanie wymaga jeszcze jednego - środkowego - komputera do pracy.
Więcej informacji można znaleźć tutaj
źródło
Zwykle konfiguruję tunel IPv6 (z sixxs.net lub he.net), jeśli nie mają jeszcze IPv6, a wtedy komputer ma adres statyczny i nie muszę zadzierać z NAT. Lubię też konfigurować uwierzytelnianie oparte na kluczach (wtedy nie muszą podawać swojego hasła).
Sixxs ma własnego klienta, którego używasz. Działa za niemal każdym NATem i automatycznie aktualizuje się po zmianie adresu IPv4. Mają instrukcje, jak to skonfigurować i jest on spakowany dla Ubuntu.
Hurricane Electric wykorzystuje tunel, w którym pakiety IPv6 są wysyłane jako ładunek pakietu IPv4. W przeciwieństwie do Sixxs nie jest używany protokół TCP / UDP. Oznacza to, że NAT, za którym się znajdujesz, musi obsługiwać przekazywanie PROTOCOL 41 (nie port) i tylko jeden komputer za NAT może go używać. Oprogramowanie do korzystania z takiego tunelu jest wbudowane w Ubuntu.
Dla HE używam czegoś takiego w
/etc/network/interfaces
:Inną rzeczą, którą musisz zrobić, to zaktualizować punkt końcowy tunelu. Ponieważ nie wiesz, kiedy zmienia się zewnętrzny adres IP, będziesz musiał po prostu próbować aktualizować punkt końcowy co kilka minut. Możesz użyć czegoś takiego i uruchomić z crona:
źródło
Z biegiem lat opracowałem GUI, aby robić dokładnie to, o co prosi OP ... poza tym, że wymaga dostępu ssh do trzeciego serwera z publicznym adresem IP, jak sugeruje Pavlos. Znajdziesz tutaj pakiety debian i instrukcje:
http://pietrobattiston.it/reachme
Zauważ, że (wciąż) nie jest w stanie zająć się początkową konfiguracją - mianowicie musisz sam skonfigurować klucze rsa dla połączenia bez hasła. Po skonfigurowaniu „reachthem” pozwala sprawdzić, czy „reachme” jest podłączony, i otworzyć powłokę ssh / przeglądać system plików / przeglądać ekran (eksperymentalny).
Oczywiście nie potrzebujesz trzeciego komputera, jeśli sam komputer ma publiczny adres IP, jak w odpowiedzi ændrük. Oczywiste jest, że zaletą GUI jest to, że użytkownik zdalny nie musi wprowadzać żadnych poleceń w terminalu ... ale część tej korzyści zostaje utracona, jeśli użytkownik zdalny musi zainstalować reachme. Po prostu zawsze instaluję i konfiguruję reachme dla wszystkich, dla których instaluję Ubuntu.
źródło