Konto shellowe – a po co to komu?

dodany 31.05.2010 przez unknow [ Komentarzy (12) ]

Tagi: , , ,

Terminal LinuxWielokrotnie słyszałem już argumenty na temat tego, że posiadanie konta shellowego w dzisiejszych czasach to zupełnie zbędna rzecz.

Ale czy aby na pewno? Poznaj moje spojrzenie na tę sprawę.

Głównym zastosowaniem tego rodzaju kont od zawsze było:

  • trzymanie tzw. ’sesji IRC’
  • nauka obsługi systemów unixowych
  • nauka programowania (shelle posiadały większość kompilatorów).

Obecnie żaden z tych argumentów nie przemawia zarówno do mnie, jak i zapewne do moich czytelników. Sesje IRC to temat dotyczący już jedynie prawdziwych weteranów, ponieważ młodsi użytkownicy o wiele bardziej wolą klasyczne komunikatory i czaty. Ponadto, od czasu, gdy Telekomunikacja Polska zablokowała połączenia ze standardowymi portami tej usługi, popularność tego protokołu drastycznie spadła.

Naukę obsługi systemów typu unix/linux o wiele lepiej jest zacząć od instalacji jednej z dystrybucji na własnym komputerze – tuż obok obecnie używanego systemu. Ponadto przy obecnej ilości pamięci RAM w komputerach, można pokusić się o uruchomienie wirtualnej instancji tego systemu w środowisku typu VMWARE, Qemu czy Bosch.

Co do nauki programowania, to obecnie znacznie lepszym pomysłem jest zainstalowanie na własnym komputerze środowiska programistycznego wyposażonego w podświetlanie składni, podpowiedzi w trakcie pisania kodu, czy chociażby debuger.

Czy potrzebuje konta shellowego?

Czasy się zmieniają i sposób eksploatacji Internetu obecnie różni się od tego, co znaliśmy kilka lat temu.

Przedstawię Ci kilka zadań, do których ja i moi znajomi wykorzystujemy konta shellowe. Myślę, że część z tych zastosowań może zaspokajać także i Twoje potrzeby.

Sesje Gadu-Gadu

Jak wspominałem na początku tego wpisu, stare, poczciwe IRC zostało zastąpione przez różnego rodzaju komunikatory internetowe, z kórych zdecydowanie najpopularniejszym w naszym kraju jest Gadu-Gadu.

Dysponując kontem shellowym, jesteś w stanie uruchomić na serwerze sesje GG, która przez 24 godziny na dobę będzie sprawiać, że każda nadesłana do Ciebie wiadomość będzie logowana do pliku, a Twój status na Gadu zawsze będzie “dostępny”. Dzięki temu rozwiązaniu, nigdy już nie przepadnie Ci żadna wiadomość, którą ktoś wysłał do Ciebei przez komunikator.

Stosując klienta konsolowego protokołu Gadu-Gadu, jakim jest EKG w wresji 2.x, możliwa jest jednoczesna obsługa zarówno sieci GG, jak i coraz popularniejszego protokołu Jabber.

Tunelowanie połączeń przez SSH

Często będąc w miejsach publicznych, korzystam z ogólnodostępnych hotspotów WiFi. Jak wiadomo, jest to miejsce w którym zdecydowanie nie powinienem logować się do swojego banku, czy też do dowolnego portalu w którym mam konto. Czasami niestety zachodzi taka potrzeba, aby w tego rodzaju miejscu wykonać tak ryzykowną akcję.

Tutaj z pomocą przychodzą tunele SSH. Do uruchomienia tego rodzaju tunelu, potrzebujemy zaledwie dwóch rzeczy. Po pierwsze niezbędne jest posiadanie klienta SSH, który umożliwia postawienie tunelu (zwykły PuTTy dla Windows świetnie się do tego nadaje), oraz konto shellowe na zaufanym serwerze.

Zestawienie tunelu polega na uruchomieniu nasłuchiwania w PuTTy na porcie np. 8080 na moim lokalnym komputerze, wskazując jako koniec tunelu, komputer z którym chciałbym się połączyć – np. serwer pop3 do odbioru poczty. W ten sposób dane wychodzące z mojego laptopa, szyfrowane są protokołem SSH i są wysyłane do serwera shellowego na którym mam konto. Stamtąd wędrują już w wersji rozkodowanej do maszyny docelowej.

Dzięki takiej prostej “komplikacji”, odbieranie poczty, czy korzystanie ze strony banku staje się o wiele bezpieczniejsze.

Wykorzystywanie przepustowości łącza serwera

Znaczna większość dostawców kont shellowych, dysponuje maszynami z łączem 100Mbps lub 1Gbps. W moim przypadku jest to odpowiednio od 100 do 1000 razy większa przepustowość, niż ta, którą dysponuję w domu.

Bardzo często zdaża mi się więc korzystać z przepustowości jaką oferuje mi moje konto shellowe.

Rozumiem, że w tym miejscu pierwsze skojarzenie odnośnie wykorzystania szybkiego łącza będzie związane z Torrentem, Rapidshare, MegaUpload i tego rodzaju serwisami. Nic bardziej mylnego :)

W większości przypadków, regulamin shella zabrania korzystania z usług tego typu. Tak więc moje zastosowanie przepustowości serwera, związane jest z czymś innym – legalnym.

Pracując jako administrator i webmaster, często spotykam się z koniecznością migracji dużej ilości danych między dwoma serwerami. Zakładając, że żadna z tych maszyn nie dysponuje dostępem przez SSH (a tak jest w 99% przypadków), standardowy algorytm postępowania w tym przypadku zakłada ściągnięcie danych z pierwszego serwera na swój komputer, a następnie wysłanie ich na drugi serwer. W przypadku ilości danych rzędu 1GB, operacja tego typu na łączu 1Mbps (które ja posiadam) może zająć cały dzień. Dysponując kontem shellowym na szybkim łączu, moge zainicjować ten proces po stronie serwera i wykonać go w zaledwie kilkadziesiąt minut.

Dodatkowym atutem realizacji tej operacji przez konto shellowe jest fakt, że mój komputer nie musi być stale połączony z Internetem na czas trwania operacji. Jest to szczególnie ważne, gdy np. rozpoczynam ten proces w kawiarni, korzystając z WiFi, a kończę go w domu na swoim łączu.

Cykliczne wykonywanie poleceń

O ile w Internecie nie trudno znaleźć skrypty typu WebCron, o tyle skuteczność ich działania pozostawia wiele do życzenia. Usługi tego typu są zwykle przeciążone i często zadanie zaplanowane na konkretną godzinę, wykonuje się np. z 30 minutowym opóźnieniem, a czasami (jak to było w moim przypadku) np. co N-te wykonanie polecenia jest pomijane.

Dysponując kontem shellowym z dostępem do shella, mam pewność, że gdy shell nie jest nadmiernie przeciążony (co sam mogę sprawdzić, np. poleceniem “top”), wszelkie zadania zostaną wykonane terminowo. Poza tym WebCron najczęściej nakładał na mnie różnorodne ograniczenia – czy to w ilości zadań (np. maksymalnie 5 zadań na usera), czy w częstotliwości ich wykonywania (nie częściej jak co 15 minut).

Wykorzystanie numeru IP serwera shellowego

Większość serwerów shellowych z których miałem przyjemność korzystać, była fizycznie zlokalizowana na terenie USA. Daje to kolejne pole do nadużyć – znaczy się do ’sprytnego wykorzystania tego faktu’ ;)

Jako właściciel polskiego numeru IP często nie jestem w stanie np. oglądać seriali emitowanych w sieci, a dostępnych tylko dla obywateli USA. To samo tyczy się słuchania niektórych rozgłośni radiowych.

Mając do dyspozycji konto shellowe z tamtejszym IP, mogę przekierować swoje połączenie w taki sposób, aby dla poszczególnych usług być widocznym jako obywatel USA. To niekiedy znacznie ułatwia życie.

Backupy stron WWW

Jako osoba odpowiedzialna za kilka stron internetowych, często wykorzystuje konta shellowe do cyklicznego wykonywania kopii zapasowych moich danych. Najczęściej wygląda to tak, że skrypt uruchamiany w cronie, raz dziennie kopiuje wszystkie pliki z serwera WWW na mój backupowy serwer FTP. Następnie wykonuje zrzut wszystkich baz danych, kompresuje je, nadaje im nazwę zgodną z datą wykonania backupu i również wysyła na serwer backupowy.

Z racji szybkiego łącza shellowni, zarówno wykonanie backupu, jak i jego późniejsze przywrócenie, to kwestia kilku minut.

Podsumowanie

Jak więc widzisz, ja nie wyobrażam sobie życia w Internecie bez posiadania konta shellowego. To, czy Ty także takiego potrzebujesz, zostawiam już Tobie do przemyślenia.

Jeśli wykorzystujesz konta shellowe w jakiś niekonwencjonalny sposób, to podziel się w komentarzach swoim pomysłem z czytelnikami.


12 komentarzy do “Konto shellowe – a po co to komu?”

  1. BC napisał:

    Witaj, bardzo ciekawy wpis. Zainteresowała mnie zwłaszcza migracja dużej ilości danych między dwoma serwerami. Mógłbyś dokładniej opisać jak się za to zabrać? :-)

    Z góry dzięki. :-)

  2. Godunov napisał:

    Zważywszy na fakt, że mnóstwo firm oferujących shelle znika bez śladu, mógłbyś polecić konkretnego, płatnego dostawcę, zza granicy? ;-)

  3. MURDOK napisał:

    Bardzo ciekawy artykuł. Nie sądziłem że shell jest aż tak przydatny ;)
    Chyba niedługo się za to zabiorę.

    :D

  4. Sandtalker napisał:

    @Godunov: najlepszym rozwiązaniem jest posiadanie własnej maszyny wirtualnej – ja korzystam z usług OVH i płacę ~100zł/msc za 250GB chociaż teraz wprowadzili te samą opcję za ~50zł :)

    No, widzę, że Unknow nie wychodzi z wprawy :)
    Mam już subskrypcję na swoim readerze, więc będę czytał wszystkie możliwe wpisy :) Pozdrawiam i życzę powodzenia!

  5. unnamed napisał:

    Widzę że blog coś zastygł.
    Czekam z niecierpliwością na następne notki. ;]

  6. Sim00n napisał:

    Niestety ostatni wpis był nie całe 2 miesiące temu …

  7. spoko napisał:

    Calkiem spoko wpis.

  8. Szaman napisał:

    a jak sie zalogowwac na konto?

  9. Daf napisał:

    Szaman: WinSCP

    i swoją drogą interesujący artykuł :)
    pzdro

  10. Krzy napisał:

    Mam pytanie. Mam konto shell z dużą szybkością pobierania plików, ale gdy używam polecenia: WGET JAKIŚ LINK to szybko ściąga mi 1GB w ciągu 15 minut. Następnie chcę te dane przesłać na mój dysk twardy. Szukałem w internecie i wyszukałem do tego narzędzie. Gdy kopiuję plik, to kopiuje go z prędkością mojego łącza, więc zajmuje to bardzo długo czasu. W tym samym czasie mógłbym ściągnąć go na swój dysk twardy od razu. Jaki to ma sens, chyba, że coś robię źle :/

  11. A czy Ty, masz już własny serwer? | UW-Team.org blog napisał:

    [...] Kolejnym krokiem po kontach hostingowych na liście rzeczy które należało posiadać w świecie ‘IT Geeków’ były konta shellowe. W większości przypadków używane są one (wiem, bo opiekuję się serwerem shellowym) do trzymania sesji IRC/GG. Ja sam jednak używałem ich także do innych cełow (więcej o tym w artykule pt. “Konto shellowe – a po co to komu?“). [...]

  12. Marcin napisał:

    Witam. Czy możliwe jest na shellu postawienie własnego programu w celach nauki pisania komunikatorów (socket itp) chodzi o komunikacje za natem.

Dodaj komentarz