SSH, mer enn et sikkert skall

SSH (Secure Shell) er en protokoll som hjelper oss med sikker tilgang til eksterne datamaskiner, i utgangspunktet som Telnet gjør, men ved hjelp av krypteringsalgoritmer som hjelper oss å holde forbindelsen sikker, spesielt hvis vi ønsker å få tilgang til datamaskiner som utfører en eller annen viktig funksjon i en organisasjon.

Generelt, for å få tilgang, må vi oppgi brukernavnet og adressen til datamaskinen, slik at SSH-serveren ber oss om tilgangspassordet:

ssh usuario@equiporemoto

Fra det øyeblikket klienten initierte den første forbindelsen mellom den eksterne datamaskinen og oss, reiser informasjonen allerede trygt, og forhindrer noen fra å få tilgangsinformasjonen til den datamaskinen, men SSH er en veldig tilpasningsdyktig protokoll som gir oss mange muligheter.

SCP

Den første av disse er å kunne overføre filer mellom klienten og den eksterne datamaskinen, uten å måtte montere en FTP- eller NFS-server, bare ved å bruke 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 funksjonen er veldig nyttig, siden den lar oss sende og motta informasjon som ikke nødvendigvis er skallkommandoer mellom klienten og den eksterne datamaskinen, for eksempel vanlig surfing. Hvis du ikke gjetter hvilken bruk dette kan ha, tenk på følgende: du trenger tilgang til en side, men stedet der du er har en brannmur implementert som blokkerer nøyaktig den siden, derfor kan vi gjøre 'tunneling' med en fjernkontroll datamaskin som ikke har nevnte låser og blar gjennom siden gjennom SSH-økten vår:

ssh -D 8888 usuario@equiporemoto

Når den er koblet til, lytter SSH-klienten vår på port 8888 som en proxy-server, slik at vi kan konfigurere nettleseren vår og all trafikk overføres gjennom SSH-økten.

SSH-tunnel

Et annet eksempel som oppstår for meg er når vi, på grunn av noen geografiske begrensninger, ikke får tilgang til en webtjeneste hvor vi er, når vi lager tunnelen, oppdager nettjenesten IP-adressen til den eksterne serveren vår som kilde, ikke vår klient-IP. Dette tilsvarer noe VPN-er (Virtual Private Network)

Omvendt SSH

Hvis vi av en eller annen grunn trenger tilgang til en datamaskin som ligger bak en brannmur, og den ikke tillater oss å omdirigere SSH-trafikk til den, kan vi gjøre en 'omvendt SSH', på en slik måte at datamaskinen kobles til en annen SSH-server, der vi også kan koble til, for å få tilgang til utstyret bak brannmuren. Et eksempel som kommer opp i tankene våre er når vi vil hjelpe en venn som ikke aner hvordan man konfigurerer en viderekobling på modemet, men vi trenger å få tilgang til datamaskinen hans eksternt:

Venn -> Modem -> SSH Server <- Om oss

Fremgangsmåten som skal følges er relativt veldig enkel:

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

Oss
ssh usuario@servidorssh
Når vi er inne i SSH-serveren, kan vi få kontakt med vennens team ved hjelp av
ssh amigo@localhost -p 9999

Som du kan se, ligger all magien i -R-parameteren, som forteller mellomtjeneren at vår venns datamaskin lytter nå som en server på port 9999.

Dette er bare noen muligheter som SSH tilbyr oss, men jeg inviterer deg til å eksperimentere med noe mer, for eksempel; Vi kan gjøre skript uten tilsyn ved hjelp av RSA-taster, omdirigere X-økter (grafisk modus) til vårt grafiske miljø, for bare å nevne noen få.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   Astro sa

    Utmerket artikkel, jeg er ivrig etter å komme hjem og begynne å øve på dem.

    1.    adr14n sa

      Takk så mye! Det er faktisk mitt første blogginnlegg, og det er veldig hyggelig å lese disse kommentarene. Jubel!

  2.   Pablo cardozo sa

    Bare i går spurte jeg noe om dette emnet, og det er følgende.

    Er det en måte å være i stand til å scp en hel mappe, men å ta hensyn til datoen for filene? Med andre ord, jeg har en mappe med mange filer som jeg lastet ned for en tid tilbake, jeg er interessert i å laste ned bare det som er lastet opp til den mappen fra en bestemt dato.

    Hilsen og mange takk på forhånd.

    1.    livlig sa

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

      1.    giskard sa

        rsync er lokket på krukken !!! 😀

      2.    Eduardo sa

        Jeg anbefaler deg å prøve unison, det er SPEKTAKULÆR, det er tilgjengelig i repoer (i det minste debian og ubuntu)

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

        Jeg bruker den til å lage daglige sikkerhetskopier av notatet til en annen datamaskin, i tillegg til å ha synkroniserte kataloger på forskjellige datamaskiner.

        Det er veldig enkelt å bruke

        Jeg håper det er nyttig for deg!

        Exitos
        Eduardo

    2.    Venstrehendt sa

      Det virker mer som en oppgave for rsync, men jeg vet ikke om det er en parameter for å gjøre det spesifikt, hvis ikke, kanskje det må håndteres fra et skript

    3.    adr14n sa

      Det som skjer for meg er å lage en ls ordnet etter dato, og derfra kopiere de du trenger med en enkel scp, fordi scp ikke har så mange funksjoner som de sier, den har rsync.

  3.   anonimo sa

    Jeg bekrefter at omvendt ssh er luksuriøst, jeg har brukt det mellom pc-en min og en annen som var mer enn 700 km unna og ingen problemer.
    Takk for disse artiklene, de er veldig verdifulle.

  4.   opphøre sa

    Så salt! Haha, jeg visste ikke at ssh hadde så mange muligheter, jeg vil allerede lære å sette opp en ssh-server og få eksperimentere med funksjonene, bare en ting, kan du forklare hva hver parameter gjør?

    1.    adr14n sa

      I følge ssh mannen selv tjener -D til å spesifisere en 'dynamisk applikasjonsvideresender' lokalt, som som jeg forklarte i artikkelen, tjener til å føre trafikk gjennom en tunnel i samme SSH-økt. -R spesifiserer den eksterne porten som vil bli omdirigert til vår lokale datamaskin gjennom en "videresending". Og til slutt angir -p hvilken port klienten skal koble til når den ikke bruker standardporten: 22

  5.   manuelmdn sa

    Gode ​​ting som berører dette emnet, jeg har et spørsmål om ssh-tastene, kan du generere mer enn en nøkkel for forskjellige tjenester? Jeg håper de laget et innlegg om administrering av ssh-tastene, jeg vet at det på Google er svaret., Men forhåpentligvis dere snakker om det,

    Greetings!

    1.    adr14n sa

      Når du bruker autentisering via SSL-nøkler, kan du eksportere det samme (datamaskinens) til forskjellige tjenester, og på samme måte, hvis datamaskinen din er serveren, kan du innlemme forskjellige nøkler fra forskjellige datamaskiner. Jeg vet ikke om jeg svarte på spørsmålet ditt, men jeg forsto det. Jubel

  6.   Luis sa

    Jeg tror jeg husker at det var en vei gjennom ssh som tillot oss å kjøre et program eksternt og se det på datamaskinen vår som om det var et lokalt program.

    For eksempel kan vi kjøre Firefox, vi ser og kontrollerer den på vår lokale datamaskin, men prosessen kjører på den eksterne datamaskinen.

    Spesielt nyttig på datamaskiner med få ressurser, men dessverre kontrollerer jeg ikke problemet, og jeg vet ikke hvordan jeg skal konfigurere datamaskinene til å gjøre det.

    Er det noen som vet noe om det?

    1.    Staff sa

      For noe sånt ville det være praktisk å bruke VNC, og du kan tunnelere med SSH.

      1.    x11tete11x sa

        @Staff for meg ville det ikke vært praktisk å bruke VNC .. med VNC hvis jeg ikke er dårlig, tar du med hele skrivebordet ..

        @Luis, det du gjør gjøres ved å bare legge til parameteren "-X" i ssh (du må tillate X-videresending på serveren din)

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

      2.    Staff sa

        @ x11tete11x
        Med tanke på hva Luis nevnte, tenkte jeg å tilby ham et annet alternativ, siden:

        1. "Spesielt nyttig på datamaskiner med få ressurser ..."

        -I tilfelle av et enkelt program, bruker det kanskje ikke så mange ressurser, men prøver å åpne 10 vinduer med x-videresending fortsetter å få systemet til å fungere hardere enn å ha en enkelt VNC-forekomst, siden VNC ikke "bringer hele skrivebordet"
        -Når du lukker programmet på klienten, ender det det samme på serveren (Noen retter meg hvis jeg tar feil), mens du med VNC for eksempel kan la hele natten laste ned en torrent og logge på igjen i morgen og alt ville fortsette akkurat som jeg hadde dratt.
        -VNC er en systemagnostisk protokoll, du kan få tilgang til den fra en klient i Win, Andorid, Mac OSX, etc. og bruk GNU / Linux-programmene dine, uten å måtte installere noe annet enn selve VNC-klienten.

        Og 2. "... dessverre kontrollerer jeg ikke problemet, og jeg vet ikke hvordan jeg skal konfigurere datamaskinene til å gjøre det."

        Det er mye enklere (og uten risiko å skrive noe galt og starte på nytt uten skrivebord) å installere VNC og konfigurere SSH-tunnelen (Det gjøres med GUI) enn å flytte X-konfigurasjonsfilene.

      3.    Luis sa

        Takk begge for kommentarene dine.

        Jeg har brukt SSH sammen med SHFS i lang tid for å få tilgang til eksternt innhold på min lille server, men jeg har aldri vært i stand til å kjøre eksterne applikasjoner i grafiske omgivelser.

        Jeg prøver begge alternativene for å se hvordan det fungerer. Det jeg sa først virker enklere siden ifølge x11tete11x trenger du bare å legge til en parameter.

        Så vil jeg se om jeg kan finne en enkel måte å konfigurere VNC på siden jeg er litt av en hånd, jeg er en Arch-bruker, så det vil helt sikkert være informasjon på wiki, en annen ting er for meg å finne ut av. Hehehe

        En hilsen.

    2.    adr14n sa

      Det kan gjøres ved å sende -X-parameteren til økten, men du må ha konfigurert X-serveren din for å godta tilkoblinger fra en datamaskin i nettverket, jeg tror det er konfigurert med xhost-verktøyet. Som personalet nevner, er VNC også et veldig godt alternativ

    3.    mario sa

      Det er X11-videresending, her på dette nettstedet er det et innlegg om det:
      https://blog.desdelinux.net/x11-forwarding-a-traves-de-ssh/

    4.    Luis sa

      Takk for infovennene.

      Jeg sa, jeg skal gjøre det ved å bruke begge alternativene for å se hvilken som passer meg bedre.

      Greetings!