Bardzo często, zwłaszcza w firmach, istnieją pewne strony, do których dostęp jest ograniczony z określonego powodu. (czasami absurdalne, innym razem nie), takie jak witryny pobierania, poczta internetowa i inne.
Ogólnie rzecz biorąc, ograniczenia te polegają na zablokowaniu domeny danej witryny, a także nałożeniu ograniczeń na niektóre porty.Co wtedy robimy, jeśli potrzebujemy natychmiast uzyskać jakieś informacje?
Zwykle użytkownicy Windows korzystaj z programów np kit (który jest również dostępny na GNU/Linux)lub TwojaWolność, ale istnieje inny, nieco bezpieczniejszy sposób uzyskiwania dostępu do odrzuconych przez nas witryn, przy użyciu SSH y skarpeta5.
W tym przykładzie liczę na to, że mamy otwarte porty 80, 3128. (zwykle używany do nawigacji) i 9122, i zobaczymy dwa rzeczywiste przypadki. Nie jest moim celem w tym artykule szczegółowe wyjaśnienie, czym jest SSH, skarpeta5 i jak działają, to zostawimy na inną okazję. Zobaczymy dwa przykłady:
– Łączenie się z innym komputerem przez SSH przy użyciu jego adresu IP.
– Łączenie się z innym komputerem przez SSH przy użyciu domeny (przez DNS).
Czego potrzebujemy?
– Komputer z dostępem do Internetu, do którego możemy uzyskać dostęp przez SSH.
– SSH oczywiście zainstalowane.
-Korkociąg (w przypadku gdy jesteśmy za proxy).
Otwieramy terminal i umieszczamy (w przypadku Debiana):
$ sudo aptitude install ssh corkscrew
OK.. Już zainstalowałem. Jak mogę się połączyć?
To jest bardzo proste. Otwieramy terminal i umieszczamy ssh -p 443 użytkownik@ip_komputera_z_internetem:
ssh -p 9122 -D 1080 elav@192.168.1.1
Parametr -p Logiczne jest, że służy do ustalenia, przez który port będziemy się łączyć. Proste. Teraz otwieramy preferencje przeglądarki (w moim przypadku Firefox) i w Opcje sieciowe, zaznaczamy tylko opcję użycia serwer ze skarpetkami i umieściliśmy:
127.0.0.1:1080
To wystarczy do nawigacji.
Co się stanie, jeśli jesteśmy za serwerem proxy?
Może się zdarzyć, że stoimy za bardzo restrykcyjnym serwerem proxy lub po prostu nasz ISP nie pozwala nam łączyć się za pomocą adresu IP, więc musimy to zrobić przez DNS. Tutaj przychodzi się bawić Korkociąg. Aby korzystać z tej aplikacji, wystarczy utworzyć plik w folderze za pomocą naszego ulubionego edytora .ssh nasz / Homeo nazwie config:
$ vim ~/.ssh/config
a w środku wkładamy coś takiego:
host dominio.net
user tu_usuario
hostname dominio.net
port 9122
proxycommand corkscrew IP_Proxy 3128 %h %p
DynamicForward 1080
Compression yes
LocalForward 8888 localhost:8888
Wyjaśniając to trochę. W parametrze host umieszczamy adres URL serwera, z którym będziemy się łączyć (który musi mieć SSH dostępne dla 9122, jak widzieliśmy w tym poście. w parametrze polecenie proxy po korkociąg umieszczamy adres IP naszego serwera proxy lub Nazwa FQDN, na przykład: proxy.domena.net oraz port używany do nawigacji.
Teraz musimy tylko otworzyć terminal i umieścić:
ssh usuario@dominio.net
Teraz ostatni szczegół. Może być konieczna modyfikacja parametru w konfiguracji Firefox gdybyśmy nie mieli połączenia. Otwieramy kartę i wpisujemy about: config. Obiecujemy, że nie będziemy wtykać wielkich łap w ustawienia i szukać:
network.dns.disablePrefetch
A jeśli jest w fałszywy włożyliśmy to prawdziwy.
Świetnie, chciałbym tylko mieć serwer, aby móc to robić w sposób funkcjonalny, a nie tylko ćwiczyć między 2 komputerami w mojej sieci lokalnej :)…
Jedno pytanie: nie możesz nawigować do desdelinux.net z https?
Nie, teraz nie możesz. Musielibyśmy kupić certyfikat SSL, a to kosztuje około 60 USD miesięcznie lub rocznie, pieniędzy, których nie mamy 🙁… przepraszam kolego.
A dlaczego nie samopodpisany certyfikat?
Nie znam się na tym za bardzo, ale jeśli sami wygenerujemy certyfikat, to Twoja przeglądarka powie Ci, że strona jest niezaufana i że... 🙁
Jeśli dobrze pamiętam to wydaje mi się, że kiedykolwiek widziałem certyfikaty limitowane do około 15 USD rocznie, oczywiście zależy to w dużej mierze od dostawcy hostingu. Ale szczerze mówiąc, w przypadku bloga (z natury publicznego) nie widzę potrzeby przeglądania HTTPS, z wyjątkiem być może upewnienia się, że informacje, które widzimy, są w rzeczywistości oryginałem, a nie częścią ataku typu man-in-the-middle (lub chęć To też może być znak, że popadamy w lekką paranoję) 😉
na skarpecie serwera przegapiłeś punkt na 127.0.0.1:1080
Dziękuję. Już to poprawiam.
Cóż, muszę przyznać, że SSH wygląda bardzo interesująco…
hehehe tak, nie znasz cudów, które można zdziałać tylko z połączeniem SSH 😀
Być może możliwe będzie usunięcie korkociągu z równania, przynajmniej w przypadku Firefoksa.
W „about:config” ustaw wpis network.proxy.socks_remote_dns na true, co w przypadku serwera proxy skarpetek w wersji 5 powoduje, że żądania DNS są wysyłane również przez serwer proxy skarpetek.
Mój link nie ma żadnych większych ograniczeń, więc nie wiem, czy to zadziała. Spróbuj i zgłoś. 😉
Inną sugestią, którą widziałem, jest użycie -4D zamiast -D, aby utworzyć serwer proxy tylko na adresie IPv4. To najwyraźniej nieco optymalizuje połączenie.
Wreszcie: jeśli nie chcesz wykonywać żadnego polecenia zdalnego, możesz użyć parametru na końcu -N (aby uniknąć wkładania słuchawek), a aby się rozłączyć wystarczy nacisnąć Ctrl+C.
Dzieki za sugestie Hugomusiałbym spróbować. Nawiasem mówiąc, przy całej tej kombinacji używam również Screena 😀
Ja też go używam, chociaż przez byobu. W rzeczywistości są chwile, kiedy powstał dla mnie ogromny bałagan, ponieważ miałem dostęp do hostów, w których miałem dostęp do innych hostów, w których miałem również dostęp do innych itp. Ponieważ korzystałem z byobu prawie wszędzie, po pewnym czasie skończyłem zamykając wszystko, ponieważ trudno było mi wiedzieć, skąd mam dostęp do gdzie, hahaha.
Hugo w sprawie pogody, dzwoń ze swojego domu na komórkę to oddzwonię 😉
Oprócz -4D (aby zoptymalizować połączenie) i -N (aby SSH przekierowywał tylko porty) możemy dodać bezpieczne klucze po obu stronach połączenia oraz & na końcu linii wywołania SSH, aby rozpocząć tunel. w sposób zautomatyzowany.
Zakładając, że mamy poprawnie skonfigurowane pliki:
~ / .ssh /
autoryzowane_klucze2
id_rsa
id_rsa.pub
na maszynach biorących udział w połączeniu ostateczna instrukcja wyglądałaby następująco:
$ssh -p 9122 -4D 1080 -N elaw@192.168.1.1 i
Możemy dodać go do naszego /etc/rc.local, aby upewnić się, że połączenie jest nawiązywane automatycznie przy każdym uruchomieniu systemu.
Co więcej, używając pm-suspend i eth-tool możemy skonfigurować /etc/rc.local, aby wybudzić maszynę, która będzie pośredniczyć w Internecie i automatycznie się z nią połączyć, a następnie przełączyć ją z powrotem w tryb gotowości. zamknij nasz system…
Miłego nerkowania 😀
Doskonały wkład.. Dziękuję 😀