SSH, viac ako bezpečný shell

SSH (bezpečný shell) je protokol, ktorý nám pomáha bezpečne pristupovať k vzdialeným počítačom, v podstate tak, ako to robí Telnet, ale používa šifrovacie algoritmy, ktoré nám pomáhajú udržiavať naše pripojenie zabezpečené, najmä ak chceme pristupovať k počítačom, ktoré v organizácii vykonávajú niektoré dôležité funkcie.

Spravidla je pre prístup potrebné poskytnúť naše užívateľské meno a adresu počítača, aby nás server SSH požiadal o prístupové heslo:

ssh usuario@equiporemoto

Od okamihu, keď klient iniciuje prvé spojenie medzi vzdialeným počítačom a nami, informácie už bezpečne cestujú a bránia niekomu v získaní našich prístupových údajov k uvedenému počítaču, avšak SSH je veľmi prispôsobivý protokol, ktorý nám ponúka veľa možností.

SCP

Prvým z nich je schopnosť prenášať súbory medzi klientom a vzdialeným počítačom bez nutnosti pripojenia servera FTP alebo NFS jednoducho pomocou protokolu SCP (Secure CoPy), ktorý implementuje väčšina serverov SSH:

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

SSH tunelovanie

Táto funkcia je veľmi užitočná, pretože nám umožňuje odosielať a prijímať informácie, ktoré nie sú nevyhnutne príkazmi shellu medzi klientom a vzdialeným počítačom, napríklad bežné prehliadanie. Ak neuhádnete, aké to môže mať použitie, zamyslite sa nad týmto: musíte sa dostať na stránku, ale miesto, kde sa nachádzate, má implementovaný firewall, ktorý presne blokuje túto stránku, preto môžeme tunelovať so vzdialeným počítačom, ktorý to robí nepovedal zámky a prehliadanie uvedenej stránky prostredníctvom našej relácie SSH:

ssh -D 8888 usuario@equiporemoto

Po pripojení náš klient SSH „počúva“ na porte 8888 ako server proxy, aby sme mohli nakonfigurovať náš prehliadač a všetka komunikácia sa prenáša cez reláciu SSH

Tunel SSH

Ďalším príkladom, ktorý mi napadá, je prípad, keď z dôvodu geografických obmedzení nemôžeme pristupovať k webovej službe z miesta, kde sme. Pri vytváraní tunela uvedená webová služba zistí ako zdroj adresu IP nášho vzdialeného servera, nie adresu IP klienta. Toto je do istej miery ekvivalentné VPN (Virtual Private Network).

Reverzný SSH

Ak z nejakého dôvodu potrebujeme získať prístup k počítaču, ktorý je za bránou firewall a neumožňuje nám presmerovať na ňu prenos SSH, môžeme urobiť „spätný SSH“ tak, aby sa tento počítač pripojil k inému serveru SSH, ku ktorej sa tiež môžeme pripojiť, aby sme získali prístup k zariadeniu za bránou firewall. Ako príklad si spomenieme, keď chceme pomôcť priateľovi, ktorý nemá predstavu o tom, ako nakonfigurovať presmerovanie na svojom modeme, ale k jeho počítaču musíme získať vzdialený prístup:

Friend -> Modem -> SSH Server <- O nás

Kroky, ktoré je potrebné dodržať, sú pomerne veľmi jednoduché:

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

nás
ssh usuario@servidorssh
Keď sa nachádzame v serveri SSH, môžeme sa spojiť s tímom nášho priateľa pomocou
ssh amigo@localhost -p 9999

Ako vidíte, všetko kúzlo spočíva v parametri -R, ktorý sprostredkovateľskému serveru hovorí, že na porte 9999 počítač nášho priateľa teraz počúva ako server.

Je to len niekoľko možností, ktoré nám SSH ponúka, ale napríklad vás vyzývam, aby ste experimentovali s ďalšími; môžeme robiť bezobslužné skripty pomocou klávesov RSA, presmerovať relácie X (grafický režim) do nášho grafického prostredia, spomeniem iba niektoré.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   astro dijo

    Vynikajúci článok, túžim sa dostať domov a začať ich praktizovať.

    1.    adr14n dijo

      Ďakujem mnohokrát! Je to vlastne môj prvý blogový príspevok a je skutočne pekné čítať tieto komentáre. S pozdravom!

  2.   Pablo cardozo dijo

    Len včera som sa niečo pýtal na túto tému a je to nasledovné.

    Existuje nejaký spôsob, ako skontrolovať scp celý priečinok, ale berúc do úvahy dátum súborov? Inými slovami, mám priečinok s mnohými súbormi, ktoré som si pred časom stiahol, mám záujem sťahovať iba to, čo sa do tohto priečinka nahralo od určitého dátumu.

    Zdravím a vopred ďakujem.

    1.    živý dijo

      Môžete to urobiť s RSYNC cez SSH. 😉

      1.    giskard dijo

        rsync je veko dózy !!! 😀

      2.    Eduardo dijo

        Odporúčam vám vyskúšať unisono, je SPEKTÚRNE, je k dispozícii v repozitároch (minimálne debian a ubuntu)

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

        Používam ho na každodenné zálohovanie svojej poznámky na iný počítač, okrem toho, že mám synchronizované adresáre na rôznych počítačoch.

        Jeho použitie je veľmi jednoduché

        Dúfam, že je to pre vás užitočné!

        úspechy
        Eduardo

    2.    Ľavák dijo

      Zdá sa to skôr ako úloha pre rsync, ale neviem, či existuje parameter, ktorý by to robil konkrétne, ak nie, možno by sa musel spracovať zo skriptu

    3.    adr14n dijo

      Napadne ma zoradiť podľa dátumu a odtiaľ skopírovať tie, ktoré potrebujete, pomocou jednoduchého scp, pretože scp nemá toľko funkcií, ako sa hovorí, má rsync.

  3.   anonymný dijo

    Potvrdzujem, že spätný ssh je luxusný, použil som ho medzi počítačom a iným, ktorý bol vzdialený viac ako 700 km a bez problémov.
    Ďakujem za tieto články, sú veľmi cenné.

  4.   prestať dijo

    Tak slané! Haha, nevedel som, že ssh má toľko možností, už sa chcem naučiť, ako nastaviť ssh server a experimentovať s jeho schopnosťami, len jedna vec, mohli by ste vysvetliť, čo robí každý parameter?

    1.    adr14n dijo

      Podľa samotného ssh mana slúži -D na lokálne zadanie 'dynamického aplikačného forwarderu', ktorý, ako som vysvetlil v článku, slúži na prenos prevádzky cez tunel v rámci tej istej relácie SSH. -R určuje vzdialený port, ktorý bude presmerovaný na náš lokálny počítač pomocou „preposielania“. A nakoniec -p určuje, na ktorý port sa má klient pripojiť, keď nepoužíva štandardný port: 22

  5.   manuelmdn dijo

    Dobrá vec, ktorá sa týka tejto témy, mám otázku týkajúcu sa ssh kľúčov, môžete vygenerovať viac ako jeden kľúč pre rôzne služby? Dúfam, že zverejnili príspevok o správe ssh kľúčov, viem, že v google existuje odpoveď., Ale dúfajme, chlapci, že o tom budú hovoriť,

    Zdravím!

    1.    adr14n dijo

      Keď používate autentifikáciu pomocou kľúčov SSL, môžete exportovať to isté (váš počítač) do rôznych služieb a rovnakým spôsobom, ak je váš počítač server, môžete zahrnúť rôzne kľúče z rôznych počítačov. Neviem, či som odpovedal na vašu otázku, ale pochopil som to. S pozdravom

  6.   Luis dijo

    Myslím, že si pamätám, že cez ssh existovala cesta, ktorá nám umožnila spustiť aplikáciu na diaľku a zobraziť ju na našom počítači, akoby išlo o lokálnu aplikáciu.

    Napríklad by sme mohli spustiť firefox, ktorý vidíme a ovládame na našom lokálnom počítači, ale proces beží na vzdialenom počítači.

    Obzvlášť užitočné pri počítačoch s malým počtom zdrojov, ale problém bohužiaľ neovládam a neviem, ako na to mám nakonfigurovať počítače.

    Vie o tom niekto niečo?

    1.    Zamestnanci dijo

      Pre niečo také by bolo vhodné použiť VNC a môžete tunelovať pomocou SSH.

      1.    x11tete11x dijo

        @Zamestnanci Pre mňa by nebolo vhodné používať VNC .. s VNC, ak nie som zlý, prinesiete celú plochu ..

        @ Luis, to, čo robíte, sa robí jednoducho pridaním parametra „-X“ do ssh (musíte povoliť preposielanie X na vašom serveri)

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

      2.    Zamestnanci dijo

        @ x11tete11x
        Vzhľadom na to, čo Luis spomenul, mi napadlo ponúknuť mu inú alternatívu, pretože:

        1. „Obzvlášť užitočné pre počítače s malým počtom zdrojov ...“

        -V prípade jedinej aplikácie nemusí spotrebovať toľko zdrojov, ale pokus o otvorenie 10 okien pomocou funkcie preposielania x naďalej spôsobuje, že systém pracuje ťažšie ako použitie jednej inštancie VNC, pretože VNC „neprináša celú plochu“
        -Pri ukončení programu na klientovi to skončí rovnako na serveri (niekto ma opravte, ak sa mýlim), zatiaľ čo pri VNC môžete napríklad nechať celú noc stiahnutie torrentu a znova sa prihlásiť do ráno a všetko by pokračovalo rovnako, ako som odišiel.
        -VNC je systémový agnostický protokol, máte k nemu prístup z klienta vo Win, Andorid, Mac OSX atď. a používať svoje programy GNU / Linux bez toho, aby ste museli inštalovať čokoľvek iné ako samotného klienta VNC.

        A 2. „... bohužiaľ neovládam problém a neviem, ako nakonfigurovať počítače, aby to robili.“

        Je oveľa jednoduchšie (a bez rizika napísať niečo zle a reštartovať bez pracovnej plochy) nainštalovať VNC a nakonfigurovať tunel SSH (deje sa to pomocou grafického užívateľského rozhrania), ako presúvať konfiguračné súbory X.

      3.    Luis dijo

        Ďakujem vám obom za pripomienky.

        SSH používam spolu so SHFS už dlho na prístup k vzdialenému obsahu môjho malého servera, ale nikdy som nebol schopný spustiť vzdialené aplikácie v grafickom prostredí.

        Vyskúšam obe možnosti, aby som zistil, ako to funguje. To, o čom som hovoril spočiatku, sa javí jednoduchšie, pretože podľa x11tete11x musíte pridať iba jeden parameter.

        Potom uvidím, či nájdem jednoduchý spôsob konfigurácie VNC, pretože som tak trochu ruka, som užívateľ Arch, takže určite budú informácie na wiki, iná vec je zistiť. Hehehe

        Pozdrav.

    2.    adr14n dijo

      Dá sa to urobiť tak, že do relácie odovzdáte parameter -X, ale musíte mať svoj X server nakonfigurovaný na prijímanie pripojení z počítača v sieti, myslím, že je nakonfigurovaný pomocou obslužného programu xhost. Ako zamestnanci spomínajú, VNC je tiež veľmi dobrá voľba

    3.    mario dijo

      Je to preposielanie X11, tu na tej istej stránke je o tom príspevok:
      https://blog.desdelinux.net/x11-forwarding-a-traves-de-ssh/

    4.    Luis dijo

      Ďakujem za informácie priatelia.

      Povedal som, že to urobím pomocou oboch možností, aby som zistil, ktorá mi viac vyhovuje.

      Zdravím!