Hva er SSH og hvordan fungerer det?

SSH er en sikret nettverksprotokoll for å få tilgang til eksterne datamaskiner i et nettverk.

Datamaskiner snakker med hverandre gjennom nettverk. Derfor definerte nettverksforskere et sett med regler for kommunikasjon til andre maskiner og begynte å utvikle protokoller som Telnet; ved å bruke det kan en bruker ta kontroll over en annen datamaskin.

Men de er ikke sikre, dvs. hvem som helst i midten av nettverket kan fange opp og lese dataene som overføres. På midten av 90-tallet ble en mer sikret protokoll kalt ssh introdusert som en pålitelig etterfølger av telnet-protokollen.

Hvis du er en programvareutvikler eller systemadministrator som jobber i en bransje, kan du ha brukt ssh, minst én gang. Hvis du ikke gjorde det, la oss lære det nå, siden det er en av de essensielle ferdighetene du må vite.

Hva er SSH?

SSH eller Secure Shell eller Secure Socket Shell er en nettverksprotokoll som hjelper oss med sikker tilgang til og kommunikasjon med eksterne maskiner (for det meste eksterne servere).

Det gir sterk kryptering og er mye brukt av nettverksadministratorer og utviklere for å administrere eksterne systemer og applikasjoner, utføre kommandoer, dele filer, etc.

Behov for SSH

SSH ble opprettet i 1995 for å løse sikkerhetsproblemer som står overfor usikrede fjerntilgangsprotokoller som rlogg inn, rsh, Telnet.

La oss nå snakke om Telnet, som står for Teletype Network utviklet i 1969. Det er et enkelt kommandolinjeverktøy som kjører på datamaskinen din for å få tilgang til en ekstern server (hvor som helst i verden). Og send kommandoer som skal utføres på den serveren, akkurat som om du sitter rett foran den eksterne serveren (selv miles unna serveren). Telnet sender og mottar meldinger i ren tekst over et nettverk.

  Slik kansellerer du FFXIV-abonnement

Kommandoene du vil utføre kan være å kjøre programmer, lage kataloger, opprette/slette/overføre filer, starte/stoppe tjenester osv.

Problemet med å koble til en annen maskin i et nettverk er at dataene som overføres vil passere gjennom mange nettverk. I mellomtiden kan noen av disse være usikre, og overføringsdataene kan bli fanget opp, muligens modifisert før de når den tiltenkte målmaskinen.

I den første tiden, hvor sikkerhet ikke var så viktig, skjer all kommunikasjon i ren tekst. Derfor kan dataene som overføres over internett mellom klient og server enkelt fanges opp. Og den kan leses da meldingene ikke er kryptert.

Derfor er klartekstprotokoller ekstremt usikre og kan aldri brukes til sensitive dataoverføringer som passord, hemmeligheter osv. Derfor blir SSH ansett som et sikkert alternativ til eldre nettverksprotokoller for ekstern tilgang.

Hvordan virker det?

SSH bruker en klient-server-arkitektur for sikker kommunikasjon over nettverket ved å koble en ssh-klient til ssh-serveren. Som standard lytter ssh-serveren til standard TCP-port 22 (du kan endre dette for bedre sikkerhet).

Den bruker en kryptografiteknikk med offentlig nøkkel for å autentisere mellom klient og server. I tillegg bruker protokollen sterk symmetrisk kryptering og hashing-algoritmer for utveksling av meldinger mellom klient og server for å sikre personvern og dataintegritet.

  Hvordan lage en blokkjede med Python?

Linux er det mye brukte operativsystemet for eksterne servere på grunn av dets sikkerhet og holdbarhet. Mange servere som bruker Linux-operativsystem på internett har kjørt i årevis uten mange feil eller til og med blitt startet på nytt.

De fleste SSH-økter (en periode der vi får tilgang til den eksterne serveren) vil kun ha følgende to operasjoner:

  • Godkjenning
  • Kommandoutførelse

SSH-servere kan autentisere klienter ved hjelp av en rekke metoder.

Og de to populære måtene er:

Passordbasert autentisering er standardmetoden som brukes for autentisering for OpenSSH installerte klienter. Det er den mest grunnleggende ssh-autentiseringen, men ikke den sikreste.

Selv om passord sendes til serveren på en sikker måte, kan moderne brute force-angrep omgå autentiseringen.

Nøkkelbasert autentisering forbedrer systemsikkerheten ytterligere ved å generere SSH-nøkkelpar, som viser seg å være et pålitelig og sikkert alternativ.

Etter at serveren har autentisert klienten, opprettes en sikker forbindelse mellom dem.

Få tilgang til ekstern server ved å bruke SSH

Hvis du er en Mac/Linux-bruker, kan du direkte bruke terminalen til å skrive og kjøre ssh-kommandoer, da OpenSSH allerede er installert som standard.

Hvis du er en Windows-bruker, må du installere en tredjeparts terminalemulatorklient for å kjøre ssh-kommandoer. PuTTY er den mest populære ssh-klienten for Windows-operativsystemet.

For å koble til en ekstern server ved hjelp av SSH, må du vite minst to ting.

Syntaksen for grunnleggende ssh-kommando er:

$ ssh <user-name> @ <host> -p <port-no>

Brukernavnet er den eksterne maskinens brukernavn vi prøver å koble til (og ikke brukeren på din lokale maskin), og verten er enten en IP-adresse eller et domenenavn.

  Må du avbryte WWE Network?

La oss se på et eksempel på å koble til en ekstern server ved å bruke OverTheWire nettsted. Det er et gratis nettsted for krigsspillutfordringer.

La oss nå koble til banditt utfordring ved å bruke ssh. Det er en av de tilgjengelige utfordringene på nettsiden som lærer hvordan du logger inn med SSH.

Legitimasjon:

brukernavn og passord: bandit0
vert og port: bandit.labs.overthewire.org, 2220

Når du skriver inn følgende kommando og trykker enter:

$ ssh [email protected] -p 2220

Den vil be deg om passordet for autentiseringsformål. Skriv inn passordet og trykk enter:

Hvis passordet som er skrevet er riktig, er du logget inn på den eksterne serveren, og terminalen din vil se ut som bildet ovenfor.

Nå kan du bruke den eksterne maskinens terminal til å skrive og utføre kommandoene dine og utføre nødvendige operasjoner.

Når du vil avslutte ssh-økten, skriv inn exit-kommando:

$ exit

Du vil få en melding, «Tilkobling stengt» når du har logget ut fra ssh-økten.

Konklusjon

Hovedårsaken bak populariteten til SSH er at hele kommunikasjonen mellom serveren og klienten er kryptert.

De fleste antar å bruke ssh er komplekst, og å få kunnskap om hvordan det fungerer er ikke lett forståelig, men det er enklere enn du tror. Nå har du en grunnleggende forståelse av SSH, hvordan det fungerer, sikkerhetsaspektene bak det, og hvorfor det spiller en viktig rolle i kommunikasjon.

Utforsk deretter noen av ressursene for å bli Sysadmin.