SSH, mere end en sikker skal

SSH (Secure Shell) Det er en protokol, der hjælper os med sikker adgang til fjerncomputere, grundlæggende som Telnet gør, men ved hjælp af krypteringsalgoritmer, der hjælper os med at holde vores forbindelse sikker, især hvis vi ønsker at få adgang til computere, der udfører en vigtig funktion i en organisation.

Generelt skal vi for at få adgang oplyse vores brugernavn og adressen på computeren, så SSH-serveren beder os om adgangskoden:

ssh usuario@equiporemoto

Da klienten starter den første forbindelse mellem fjerncomputeren og os, rejser informationen allerede sikkert, hvilket forhindrer nogen i at få vores adgangsoplysninger til nævnte computer, men SSH er en meget fleksibel protokol, der giver os mange odds.

SCP

Den første er at være i stand til at overføre filer mellem klienten og fjerncomputeren uden behov for at montere en FTP- eller NFS-server, blot ved at bruge SCP (Secure CoPy), som de fleste SSH-servere implementerer:

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

SSH tunnelering

Denne funktion er meget nyttig, da den giver os mulighed for at sende og modtage information, der ikke nødvendigvis er shell-kommandoer mellem klienten og fjerncomputeren, for eksempel almindelig browsing. Hvis du ikke kan gætte, hvor nyttigt dette kan være, så tænk på følgende: du skal have adgang til en side, men stedet, hvor du er, har en firewall implementeret, der blokerer netop den side, derfor kan vi lave 'tunneling' med en fjerncomputer, der ikke har nævnte blokke og videregiver navigationen på nævnte side gennem vores SSH-session:

ssh -D 8888 usuario@equiporemoto

Når først den er tilsluttet, 'lytter' vores SSH-klient på port 8888 som en proxyserver, så vi kan konfigurere vores browser, og al trafik transmitteres gennem SSH-sessionen.

SSH-tunnel

Et andet eksempel, der opstår for mig, er, når vi på grund af nogle geografiske begrænsninger ikke kan få adgang til en webtjeneste, hvorfra vi er, når vi tunnelerer, nævnte webservice registrerer IP'en på vores fjernserver som oprindelsen, ikke vores klient-IP. Dette svarer lidt til VPN'er (Virtual Private Network)

Omvendt SSH

Hvis vi af en eller anden grund har brug for at få adgang til en computer, der er bag en firewall, og den ikke tillader os at omdirigere SSH-trafik til den, kan vi lave en 'omvendt SSH' på en sådan måde, at den computer opretter forbindelse til en anden SSH-server , som vi også kan oprette forbindelse til, for at få adgang til udstyret bag firewallen. Et eksempel, der kommer til at tænke på, er, når vi vil hjælpe en ven, der ikke aner, hvordan man konfigurerer en omdirigering på sit modem, men vi skal have fjernadgang til hans computer:

Ven —> Modem —> SSH Server <— Us

De trin, der skal følges, er relativt meget enkle:

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

os
ssh usuario@servidorssh
Når vi først er inde i SSH-serveren, kan vi oprette forbindelse til vores vens computer ved hjælp af
ssh amigo@localhost -p 9999

Som du kan se, ligger al magien i parameteren -R, som fortæller den mellemliggende server, at vores vens computer lytter på port 9999 nu som en server.

Dette er blot nogle af de muligheder, som SSH tilbyder os, men jeg inviterer dig til at eksperimentere med nogle flere, for eksempel; vi kan lave uovervågede scripts ved hjælp af RSA-nøgler, omdirigere X-sessioner (grafisk tilstand) til vores grafiske miljø, for blot at nævne nogle få.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Astro sagde han

    Fremragende artikel, jeg glæder mig til at komme hjem og øve dem.

    1.    adr14n sagde han

      Mange tak! Faktisk er det min første artikel på bloggen, og det er meget rart at læse disse kommentarer. Vær hilset!

  2.   Pablo cardozo sagde han

    I går spurgte jeg lige om noget om dette emne, og det er følgende.

    Er der en måde at være i stand til at scp en hel mappe, men under hensyntagen til datoen for filerne? Jeg har med andre ord en mappe med mange filer, som jeg downloadede for noget tid siden, jeg er interesseret i kun at downloade det, der er blevet uploadet til den mappe efter en bestemt dato.

    Hilsen og på forhånd mange tak.

    1.    Elav sagde han

      Du kan gøre det med RSYNC over SSH. 😉

      1.    giskard sagde han

        rsync er låget på krukken!!! 😀

      2.    Eduardo sagde han

        Jeg anbefaler, at du prøver unisont, det er SPEKTAKULÆRT, det er tilgængeligt i repos (i det mindste debian og ubuntu)

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

        Jeg bruger den til at lave daglige sikkerhedskopier af min note til en anden computer, udover at have mapper synkroniseret på forskellige computere.

        Det er meget nemt at bruge

        Jeg håber, det er nyttigt for dig!

        exitos
        Eduardo

    2.    Venstrehåndet sagde han

      Det virker mere som en opgave som for rsync, men jeg ved ikke, om der er en parameter til at gøre det specifikt, hvis ikke, skal det måske håndteres fra et script.

    3.    adr14n sagde han

      Det der falder mig ind er at lave en ls ordnet efter dato, og derfra kopiere dem du skal bruge med en simpel scp, fordi scp'en ikke har så mange funktioner som de godt kommenterer, den har rsync.

  3.   anonym sagde han

    Jeg attesterer, at omvendt ssh fungerer godt, jeg har brugt det mellem min pc og en anden, der var mere end 700 km væk og ingen problemer.
    Tak for disse ting, de er uvurderlige.

  4.   ophøre sagde han

    Hvorfor salt! Haha jeg vidste ikke at ssh havde så mange muligheder, jeg vil allerede gerne lære at konfigurere en ssh server og begynde at eksperimentere med dens muligheder, bare en ting, kan du forklare hvad hver parameter gør?

    1.    adr14n sagde han

      Ifølge ssh-manden selv, bruges -D'et til at specificere en 'dynamisk applikationsvidere' lokalt, som, som jeg forklarede i artiklen, bruges til at tunnelere trafik inden for samme SSH-session. -R angiver den fjernport, der vil blive omdirigeret til vores lokale computer gennem 'videresendelse'. Og endelig angiver -p hvilken port klienten skal forbinde til, når den ikke bruger standardporten: 22

  5.   manuelmdn sagde han

    Det er godt at du berører dette emne, jeg har et spørgsmål om ssh-nøgler, kan der genereres mere end én nøgle til forskellige tjenester? De vil tale om det

    Greetings!

    1.    adr14n sagde han

      Når du bruger godkendelse gennem SSL-nøgler, kan du eksportere de samme (din computers) til forskellige tjenester, og på samme måde, hvis din computer er serveren, kan du inkorporere forskellige nøgler fra forskellige computere. Jeg ved ikke om jeg svarede på dit spørgsmål, men det er det jeg forstod. Vær hilset

  6.   Luis sagde han

    Jeg tror, ​​jeg kan huske, at der var en vej gennem ssh, der gjorde det muligt for os at køre et program på afstand og se det på vores computer, som om det var et lokalt program.

    For eksempel kunne vi køre firefox, vi ser og kontrollerer det på vores lokale computer, men processen kører på fjerncomputeren.

    Især nyttig på computere med få ressourcer, men desværre styrer jeg ikke problemet, og jeg ved ikke, hvordan jeg konfigurerer computerne til at gøre det.

    Ved nogen noget om det?

    1.    Personale sagde han

      Til sådan noget vil du gerne bruge VNC, og du kan tunnelere med SSH.

      1.    x11tete11x sagde han

        @Personal for mig ville det ikke være praktisk at bruge VNC... med VNC, hvis jeg ikke tager fejl, tager du hele skrivebordet med...

        @Luis, hvad du gør gøres ved blot at tilføje "-X" parameteren til ssh (du skal tillade X-videresendelse på din server)

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

      2.    Personale sagde han

        @ x11tete11x
        I betragtning af hvad Luis nævnte, tænkte jeg på at tilbyde ham et andet alternativ, da:

        1. "Særlig nyttig på computere med lav ressource..."

        -I tilfælde af en enkelt applikation bruger den måske ikke så mange ressourcer, men forsøg på at åbne 10 vinduer med x-videresendelse får stadig systemet til at arbejde mere end at have en enkelt instans af VNC, da VNC ikke "bringer hele skrivebordet"
        -Når man lukker programmet på klienten, ender det det samme på serveren (nogen ret mig, hvis jeg tager fejl), mens man med VNC f.eks. kan lade hele natten downloade en torrent og om morgenen logge ind igen og alt ville fortsætte, ligesom jeg var gået.
        -VNC er en systemagnostisk protokol, du kan få adgang til den fra en klient på Win, Andorid, Mac OSX osv. og brug dine GNU/Linux-programmer uden at skulle installere andet end selve VNC-klienten.

        Og 2. "... desværre styrer jeg ikke problemet, og jeg ved ikke, hvordan jeg konfigurerer computerne til at gøre det."

        Det er meget nemmere (og uden risiko for at skrive noget forkert og genstarte uden skrivebord) at installere VNC og konfigurere SSH-tunnelen (gjort med GUI) end at flytte X-konfigurationsfilerne.

      3.    Luis sagde han

        Tak til jer begge for jeres kommentarer.

        Jeg har brugt SSH sammen med SHFS i lang tid for at få adgang til fjernindhold på min lille server, men jeg har aldrig været i stand til at køre fjernapplikationer i et grafisk miljø.

        Jeg vil prøve begge muligheder og se hvordan det går. Det, jeg kommenterede i starten, virker enklere, da du ifølge x11tete11x bare skal tilføje en parameter.

        Så vil jeg se om jeg finder en enkel måde at konfigurere VNC på, da jeg er lidt handy, jeg er Arch-bruger, så der vil helt sikkert være information på wikien, en anden ting er for mig at finde ud af. Hahaha

        En hilsen.

    2.    adr14n sagde han

      Det kan gøres ved at sende parameteren -X til sessionen, men du skal have din X-server konfigureret til at acceptere forbindelser fra en computer på netværket, det tror jeg er konfigureret med xhost-værktøjet. Som Staff nævner, er VNC også en meget god mulighed.

    3.    mario sagde han

      Det er X11 videresendelse, her på netop denne side er der et indlæg om det:
      https://blog.desdelinux.net/x11-forwarding-a-traves-de-ssh/

    4.    Luis sagde han

      Tak for info venner.

      Når det er sagt, vil jeg prøve at gøre det ved at bruge begge muligheder for at se, hvilken der passer mig bedst.

      Greetings!