Tunelowanie SSH, czyli anonimowe połączenia SSH

Trasowanie cebulowe (ang. onion routing) polega na wielokrotnym szyfrowaniu wiadomości, a następnie przesyłaniu jej przez szereg węzłów zwanych routerami cebulowymi (ang. onion routers). Każdy z nich usuwa warstwę szyfrowania w celu uzyskania informacji o dalszym trasowaniu i przesyła dane do następnego routera. Takie działanie zapobiega ujawnieniu węzłom pośredniczącym pochodzenia, odbiorcy oraz treści wiadomości. Sieć TOR dominuje w wykorzystywaniu tejże technologii. W tym wpisie postaram się przybliżyć rzadko używaną opcje SSH ProxyCommand, pozwalającą określić program, przez który będą przekazywane połączenia.

Na początek musimy zainstalować program TOR razem ze wszystkimi wymaganymi przez niego składnikami, w tym celu pod Debianem wydajemy polecenie

apt-get install tor

następnie ściągamy program connect.c komendą

wget http://savannah.gnu.org/maintenance/connect.c

następnym krokiem jest kompilacja tego programu

gcc -o connect connect.c

aby tunelować połączenie SSH wydajemy polecenie

ssh -o ProxyCommand=”/home/ziaja/connect -S localhost:9050 %h %p” 213.135.50.72 -p 22

gdzie /home/ziaja/connect to ścieżka do skompilowanego programu connect, localhost:9050 to adres naszego serwera TOR (serwer działa standardowo na porcie 9050), a 213.135.50.72 to IP serwera do którego chcemy się połączyć za pośrednictwem SSH, parametr -p jest opcjonalny (jeśli ssh działa na standardowym porcie 22 to nie trzeba go podawać), jeśli chcemy zalogować się na inny login to przed numerem IP trzeba dodać login@, przykładowo łącząc się z Neostrady w logach pokazało się

Feb 3 13:11:55 latitude sshd[10253]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=user-38q48q0.cable.mindspring.com user=root

nie jest to moje IP więc tunelowanie działa prawidłowo.

Poprzedni post

Dlaczego warto używać Linuksa?

Następny post

Budowanie paczek deb

Powiązane posty