SSH, więcej niż bezpieczna powłoka

SSH (bezpieczna powłoka) jest protokołem, który pomaga nam bezpiecznie uzyskać dostęp do zdalnych komputerów, w zasadzie tak jak robi to Telnet, ale wykorzystuje algorytmy szyfrowania, które pomagają nam zapewnić bezpieczeństwo naszego połączenia, zwłaszcza jeśli chcemy uzyskać dostęp do komputerów, które wykonują ważną funkcję organizacja.

Generalnie, aby uzyskać dostęp, musimy podać naszą nazwę użytkownika i adres komputera, tak aby serwer SSH poprosił nas o hasło dostępu:

ssh usuario@equiporemoto

Od momentu, gdy klient inicjuje pierwsze połączenie między komputerem zdalnym a nami, informacje już bezpiecznie podróżują, uniemożliwiając komuś uzyskanie naszych danych dostępu do tego komputera, jednak SSH jest protokołem bardzo elastycznym, który oferuje nam wiele możliwości.

SCP

Pierwszym z nich jest możliwość przesyłania plików między klientem a komputerem zdalnym, bez konieczności montowania serwera FTP lub NFS, po prostu za pomocą SCP (Secure CoPy), który implementuje większość serwerów SSH:

scp archivo.tar.gz usuario@equiporemoto:/home/usuario
scp usuario@equiporemoto:/var/log/messages messages.txt

Tunelowanie SSH

Ta funkcja jest bardzo przydatna, ponieważ umożliwia nam wysyłanie i odbieranie informacji, które niekoniecznie są poleceniami powłoki między klientem a komputerem zdalnym, na przykład zwykłe przeglądanie. Jeśli nie wiesz, jakie może to mieć zastosowanie, zastanów się nad następującymi kwestiami: musisz uzyskać dostęp do strony, ale miejsce, w którym się znajdujesz, ma zaimplementowaną zaporę ogniową, która blokuje dokładnie tę stronę, dlatego możemy `` tunelować '' za pomocą zdalnego komputera, który nie ma wspomniane bloki i przeglądanie wspomnianej strony za pośrednictwem naszej sesji SSH:

ssh -D 8888 usuario@equiporemoto

Po nawiązaniu połączenia nasz klient SSH „nasłuchuje” na porcie 8888 jako serwer proxy, dzięki czemu możemy skonfigurować naszą przeglądarkę, a cały ruch jest przesyłany przez sesję SSH

Tunel SSH

Innym przykładem, który przychodzi mi do głowy, jest sytuacja, gdy z powodu pewnych ograniczeń geograficznych nie możemy uzyskać dostępu do usługi internetowej z miejsca, w którym się znajdujemy, podczas tworzenia tunelu wspomniana usługa sieciowa wykrywa adres IP naszego zdalnego serwera jako źródło, a nie adres IP klienta. Jest to w pewnym sensie odpowiednik VPN (wirtualnej sieci prywatnej)

Odwróć SSH

Jeśli z jakiegoś powodu potrzebujemy uzyskać dostęp do komputera znajdującego się za zaporą ogniową i nie pozwala on na przekierowanie do niego ruchu SSH, możemy wykonać `` odwrotne SSH '' w taki sposób, że ten komputer łączy się z innym serwerem SSH pod adresem z którym możemy się również połączyć, aby uzyskać dostęp do sprzętu znajdującego się za zaporą. Przykładem, który przychodzi na myśl, jest sytuacja, gdy chcemy pomóc znajomemu, który nie ma pojęcia, jak skonfigurować przekierowanie na swoim modemie, ale musimy uzyskać zdalny dostęp do jego komputera:

Przyjaciel -> Modem -> Serwer SSH <- O nas

Kroki, które należy wykonać, są stosunkowo bardzo proste:

Amigo
ssh -R 9999:localhost:22 usuario@servidorssh

o nas
ssh usuario@servidorssh
Po wejściu na serwer SSH możemy połączyć się z zespołem naszego znajomego za pomocą
ssh amigo@localhost -p 9999

Jak widać, cała magia tkwi w parametrze -R, który mówi serwerowi pośredniczącemu, że na porcie 9999 komputer naszego przyjaciela nasłuchuje teraz jako serwer.

To tylko niektóre możliwości, które oferuje nam SSH, ale zapraszam do eksperymentowania z kilkoma, na przykład; możemy wykonywać nienadzorowane skrypty za pomocą kluczy RSA, przekierowywać sesje X (tryb graficzny) do naszego środowiska graficznego, żeby wymienić tylko kilka.


Dodaj jako preferowane źródło w Google