SSH, više od sigurne ljuske

SSH (sigurna ljuska) je protokol koji nam pomaže da sigurno pristupimo udaljenim računarima, u osnovi kao što to čini Telnet, ali koristeći algoritme za šifriranje koji nam pomažu da zaštitimo vezu, posebno ako želimo pristupiti računarima koji obavljaju neke važne funkcije u organizaciji.

Generalno, za pristup moramo navesti svoje korisničko ime i adresu računara, tako da nas SSH server pita za lozinku za pristup:

ssh usuario@equiporemoto

Od trenutka kada klijent započne prvu vezu između udaljenog računara i nas, informacije već sigurno putuju, sprečavajući nekoga da dobije naše vjerodajnice za pristup tom računaru, međutim SSH je vrlo prilagodljiv protokol koji nam nudi mnoge mogućnosti.

SCP

Prva od njih je mogućnost prenosa datoteka između klijenta i udaljenog računara, bez potrebe za montiranjem FTP ili NFS servera, jednostavno koristeći SCP (Secure CoPy) koji implementira većina SSH servera:

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

SSH tuneliranje

Ova je značajka vrlo korisna, jer nam omogućava slanje i primanje informacija koje nisu nužno naredbe ljuske između klijenta i udaljenog računara, na primjer uobičajeno pregledavanje. Ako ne pretpostavljate kakvu ovo korist može imati, razmislite o sljedećem: trebate pristupiti stranici, ali na mjestu na kojem se nalazite ima implementiran zaštitni zid koji blokira upravo tu stranicu, stoga možemo 'tunelirati' daljinskim upravljačem računalo koje nema navedene zaključavanja i pregledavanje navedene stranice kroz našu SSH sesiju:

ssh -D 8888 usuario@equiporemoto

Jednom povezan, naš SSH klijent 'preslušava' na portu 8888 kao proxy server, tako da možemo konfigurirati svoj preglednik i sav promet se prenosi kroz SSH sesiju

SSH tunel

Sljedeći primjer koji mi se događa je kada zbog nekih geografskih ograničenja ne možemo pristupiti web usluzi s mjesta na kojem se nalazimo, prilikom izrade tunela, rekao je da web usluga otkriva IP našeg udaljenog poslužitelja kao izvor, a ne IP klijenta. Ovo je donekle ekvivalentno VPN-ovima (virtualna privatna mreža)

Obrnuti SSH

Ako iz nekog razloga trebamo pristupiti računaru koji se nalazi iza zaštitnog zida i koji nam ne dopušta da preusmjerimo SSH promet na njega, možemo napraviti 'obrnuti SSH', na takav način da se taj računar poveže s drugim SSH serverom, na koji se takođe možemo povezati kako bismo pristupili opremi iza zaštitnog zida. Primjer koji nam padne na pamet je kada želimo pomoći prijatelju koji nema pojma kako konfigurirati preusmjeravanje na svom modemu, ali mu moramo pristupiti na daljinu:

Prijatelj -> Modem -> SSH server <- O nama

Koraci koje treba slijediti relativno su jednostavni:

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

nosotros
ssh usuario@servidorssh
Kad uđemo u SSH server, možemo se povezati s timom prijatelja pomoću
ssh amigo@localhost -p 9999

Kao što vidite, sva magija leži u parametru -R, koji posrednom serveru govori da na portu 9999 računar našeg prijatelja sada sluša kao server.

Ovo su samo neke mogućnosti koje nam SSH nudi, ali pozivam vas da eksperimentirate s još nekim, na primjer; možemo raditi skripte bez nadzora koristeći RSA tipke, preusmjeriti X sesije (grafički način) u naše grafičko okruženje, da spomenemo samo neke.


Sadržaj članka pridržava se naših principa urednička etika. Da biste prijavili grešku, kliknite ovdje.

21 komentara, ostavi svoj

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Astro rekao je

    Odličan članak, nestrpljiv sam da se vratim kući i počnem ih vježbati.

    1.    adr14n rekao je

      Hvala puno! To je zapravo moj prvi post na blogu i vrlo je lijepo čitati ove komentare. Živjeli!

  2.   Pablo cardozo rekao je

    Baš sam jučer nešto pitao o ovoj temi, a to je sljedeće.

    Postoji li način da se scp cijela mapa, ali uzimajući u obzir datum datoteka? Drugim riječima, imam fasciklu s mnogo datoteka koje sam preuzeo prije nekog vremena, zanima me preuzimanje samo onoga što je u taj folder stavljeno od određenog datuma.

    Pozdrav i veliko hvala unaprijed.

    1.    elav rekao je

      To možete učiniti s RSYNC preko SSH. 😉

      1.    Giskard rekao je

        rsync je poklopac staklenke !!! 😀

      2.    eduardo rekao je

        Preporučujem vam da isprobate unison, on je SPEKTAKULARAN, dostupan je u repozicijama (barem debian i ubuntu)

        http://www.cis.upenn.edu/~bcpierce/unison/

        Koristim ga za svakodnevno sigurnosno kopiranje bilješki na drugom računaru, pored sinhroniziranih direktorija na različitim računarima.

        Veoma je jednostavan za upotrebu

        Nadam se da je korisno za vas!

        Uspjesi
        eduardo

    2.    Ljevoruk rekao je

      To mi se više čini kao zadatak za rsync, ali ne znam postoji li parametar koji to posebno može učiniti, ako ne, možda bi se to moralo rješavati iz skripte

    3.    adr14n rekao je

      Ono što mi pada na pamet je napraviti ls poredan po datumu, a odatle kopirati one koji su vam potrebni jednostavnim scp-om, jer scp nema toliko funkcija koliko kažu, ima rsync.

  3.   anonimo rekao je

    Potvrđujem da je obrnuti ssh luksuzan, koristio sam ga između svog računala i drugog računara udaljenog više od 700 km i nula problema.
    Hvala vam na ovim člancima, oni su vrlo vrijedni.

  4.   prestani rekao je

    Tako slano! Haha. Nisam znao da ssh ima toliko mogućnosti, već želim naučiti kako postaviti ssh server i eksperimentirati s njegovim mogućnostima, samo jedno, možete li objasniti šta svaki parametar radi?

    1.    adr14n rekao je

      Prema samom ssh manu, -D služi za lokalno određivanje 'dinamičkog prosljeđivača aplikacija', koji, kako sam objasnio u članku, služi za prolazak prometa kroz tunel unutar iste SSH sesije. -R navodi udaljeni port koji će biti preusmjeren na naše lokalno računalo putem 'prosljeđivanja'. I na kraju, -p specificira na koji port se klijent treba povezati, kada ne koristi standardni port: 22

  5.   manuelmdn rekao je

    Dobra stvar koja se dotiče ove teme, imam pitanje u vezi ssh ključeva, možete li generirati više ključeva za različite usluge? Nadam se da su objavili post o upravljanju ssh ključevima, znam da u googleu postoji odgovor., Ali nadamo se da ćete razgovarati o tome,

    Pozdrav!

    1.    adr14n rekao je

      Kada koristite provjeru autentičnosti putem SSL ključeva, možete iste (računare) izvesti u različite usluge i na isti način, ako je vaše računalo poslužitelj, možete uključiti različite ključeve različitih računara. Ne znam da li sam odgovorio na vaše pitanje, ali razumio sam to. Živjeli

  6.   luis rekao je

    Mislim da se sjećam da je postojao način kroz ssh koji nam je omogućio pokretanje aplikacije na daljinu i gledanje na računaru kao da je lokalna aplikacija.

    Na primjer, mogli bismo pokrenuti firefox, vidimo ga i kontroliramo na našem lokalnom računaru, ali postupak se izvodi na udaljenom računaru.

    Posebno korisno na računarima s malo resursa, ali nažalost ne kontroliram problem i ne znam kako konfigurirati računare da to rade.

    Zna li neko nešto o tome?

    1.    osoblje rekao je

      Za tako nešto bilo bi prikladno koristiti VNC i možete tunelirati sa SSH.

      1.    x11tete11x rekao je

        @Osoblje za mene ne bi bilo zgodno koristiti VNC .. s VNC-om ako nisam loš ponesite cijelu radnu površinu ..

        @Luis, ono što radiš jednostavno dodavanjem parametra "-X" u ssh (moraš dozvoliti X prosljeđivanje na svom serveru)

        http://i.imgur.com/NCpfzBL.jpg

      2.    osoblje rekao je

        @ x11tete11x
        S obzirom na ono što je Luis spomenuo, pomislio sam da mu ponudim drugu alternativu, budući da:

        1. "Posebno korisno na računarima sa malo resursa ..."

        -U slučaju jedne aplikacije, ona možda neće potrošiti toliko resursa, ali pokušaj otvaranja 10 prozora s x prosljeđivanjem i dalje otežava rad sistema nego što ima jednu VNC instancu, jer VNC ne "donosi cijelu radnu površinu"
        -Kada zatvorite program na klijentu, isti završi na serveru (neko me ispravi ako griješim), dok kod VNC-a možete, na primjer, ostaviti cijelu noć preuzimajući bujicu i ponovo se prijaviti u jutro i sve bi se nastavilo baš onako kako sam otišao.
        -VNC je sistemski agnostički protokol, možete mu pristupiti iz klijenta u Win, Andorid, Mac OSX itd. i koristite svoje GNU / Linux programe, bez potrebe za instaliranjem bilo čega osim samog VNC klijenta.

        I 2. "... nažalost ne kontroliram problem i ne znam kako konfigurirati računare da to rade."

        Puno je lakše (i bez rizika upisati nešto pogrešno i ponovo pokrenuti bez radne površine) instalirati VNC i konfigurirati SSH tunel (To se radi s GUI) nego premjestiti X konfiguracijske datoteke.

      3.    luis rekao je

        Hvala vam na komentarima.

        Već dugo koristim SSH zajedno sa SHFS-om za pristup udaljenom sadržaju na mom malom serveru, ali nikada nisam mogao pokretati udaljene aplikacije u grafičkom okruženju.

        Pokušat ću obje opcije da vidim kako to funkcionira. Ono što sam govorio u početku čini se jednostavnijim jer prema x11tete11x morate dodati samo jedan parametar.

        Tada ću vidjeti mogu li pronaći jednostavan način za konfiguriranje VNC-a, jer sam pomalo ruka, ja sam korisnik Arch-a, tako da će sigurno biti informacija na wiki-ju, drugo što moram saznati. Hehehe

        A pozdrav.

    2.    adr14n rekao je

      To se može učiniti prosljeđivanjem parametra -X sesiji, ali morate imati konfiguriran X server da prihvaća veze s računara na mreži, mislim da je to konfigurirano pomoću uslužnog programa xhost. Kao što osoblje spominje, VNC je također vrlo dobra opcija

    3.    Mario rekao je

      To je prosljeđivanje X11, ovdje na istoj stranici postoji post o tome:
      https://blog.desdelinux.net/x11-forwarding-a-traves-de-ssh/

    4.    luis rekao je

      Hvala na informacijama prijatelji.

      Rekao sam, učinit ću to koristeći obje opcije da vidim koja mi više odgovara.

      Pozdrav!