Hvordan lage og installere SSH-nøkler fra Linux-skallet

Ta cybersikkerhet på alvor og bruk SSH-nøkler for å få tilgang til ekstern pålogging. De er en sikrere måte å koble til enn passord. Vi viser deg hvordan du genererer, installerer og bruker SSH-nøkler i Linux.

Hva er galt med passord?

Secure shell (SSH) er den krypterte protokollen som brukes til å logge på brukerkontoer på eksterne Linux- eller Unix-lignende datamaskiner. Vanligvis er slike brukerkontoer sikret med passord. Når du logger på en ekstern datamaskin, må du oppgi brukernavn og passord for kontoen du logger på.

Passord er det vanligste middelet for å sikre tilgang til dataressurser. Til tross for dette har passordbasert sikkerhet sine mangler. Folk velger svake passord, deler passord, bruker samme passord på flere systemer, og så videre.

SSH-nøkler er mye sikrere, og når de først er satt opp, er de like enkle å bruke som passord.

Hva gjør SSH-nøkler sikre?

SSH-nøkler opprettes og brukes i par. De to nøklene er koblet sammen og kryptografisk sikre. Den ene er din offentlige nøkkel, og den andre er din private nøkkel. De er knyttet til brukerkontoen din. Hvis flere brukere på en enkelt datamaskin bruker SSH-nøkler, vil de motta hvert sitt nøkkelpar.

Din private nøkkel er installert i hjemmemappen din (vanligvis), og den offentlige nøkkelen er installert på den eksterne datamaskinen – eller datamaskinene – som du trenger tilgang til.

Din private nøkkel må oppbevares trygt. Hvis det er tilgjengelig for andre, er du i samme posisjon som om de hadde oppdaget passordet ditt. En fornuftig – og sterkt anbefalt – forholdsregel er at din private nøkkel krypteres på datamaskinen din med en robust passordfrase.

  Hvordan spille Stellaris på Linux

Den offentlige nøkkelen kan deles fritt uten at det går på bekostning av sikkerheten din. Det er ikke mulig å fastslå hva den private nøkkelen er fra en undersøkelse av den offentlige nøkkelen. Den private nøkkelen kan kryptere meldinger som bare den private nøkkelen kan dekryptere.

Når du foretar en tilkoblingsforespørsel, bruker den eksterne datamaskinen sin kopi av den offentlige nøkkelen til å lage en kryptert melding. Meldingen inneholder en økt-ID og andre metadata. Bare datamaskinen som har den private nøkkelen – datamaskinen din – kan dekryptere denne meldingen.

Datamaskinen din får tilgang til din private nøkkel og dekrypterer meldingen. Den sender deretter sin egen krypterte melding tilbake til den eksterne datamaskinen. Blant annet inneholder denne krypterte meldingen sesjons-IDen som ble mottatt fra den eksterne datamaskinen.

Den eksterne datamaskinen vet nå at du må være den du sier du er, fordi bare din private nøkkel kunne trekke ut økt-ID-en fra meldingen den sendte til datamaskinen din.

Sørg for at du har tilgang til den eksterne datamaskinen

Sørg for at du eksternt kan koble til og logge på den eksterne datamaskinen. Dette beviser at brukernavnet og passordet ditt har en gyldig konto satt opp på den eksterne datamaskinen og at legitimasjonen din er korrekt.

Ikke prøv å gjøre noe med SSH-nøkler før du har bekreftet at du kan bruke SSH med passord for å koble til måldatamaskinen.

I dette eksemplet er en person med en brukerkonto kalt dave logget på en datamaskin kalt wdzwdz . De skal koble seg til en annen datamaskin som heter Sulaco.

De skriver inn følgende kommando:

ssh [email protected]

De blir bedt om passordet, de skriver det inn, og de er koblet til Sulaco. Kommandolinjemeldingen deres endres for å bekrefte dette.

Det er all bekreftelsen vi trenger. Så bruker dave kan koble fra Sulaco med exit-kommandoen:

exit

De mottar frakoblingsmeldingen og kommandolinjemeldingen går tilbake til [email protected]

  Hvordan bruke Shazam på Linux-skrivebordet med SongRec

Opprette et par SSH-nøkler

Disse instruksjonene ble testet på Ubuntu-, Fedora- og Manjaro-distribusjoner av Linux. I alle tilfeller var prosessen identisk, og det var ikke nødvendig å installere ny programvare på noen av testmaskinene.

For å generere SSH-nøkler, skriv inn følgende kommando:

ssh-keygen

Generasjonsprosessen starter. Du vil bli spurt om hvor du ønsker at SSH-nøklene dine skal lagres. Trykk på Enter-tasten for å godta standardplasseringen. Tillatelsene på mappen vil sikre den kun for din bruk.

Du vil nå bli bedt om en passordfrase. Vi anbefaler på det sterkeste at du skriver inn en passordfrase her. Og husk hva det er! Du kan trykke Enter for å ikke ha noen passordfrase, men dette er ikke en god idé. En passordfrase som består av tre eller fire usammenhengende ord, satt sammen vil lage en veldig robust passordfrase.

Du vil bli bedt om å skrive inn den samme passordfrasen en gang til for å bekrefte at du har skrevet det du trodde du hadde skrevet.

SSH-nøklene genereres og lagres for deg.

Du kan ignorere «randomart» som vises. Noen eksterne datamaskiner kan vise deg sin tilfeldige kunst hver gang du kobler til. Tanken er at du vil gjenkjenne om den tilfeldige kunsten endres, og være mistenksom overfor tilkoblingen fordi det betyr at SSH-nøklene for den serveren har blitt endret.

Installere den offentlige nøkkelen

Vi må installere den offentlige nøkkelen din på Sulaco , den eksterne datamaskinen, slik at den vet at den offentlige nøkkelen tilhører deg.

Vi gjør dette ved å bruke kommandoen ssh-copy-id. Denne kommandoen oppretter en tilkobling til den eksterne datamaskinen som den vanlige ssh-kommandoen, men i stedet for å la deg logge på, overfører den den offentlige SSH-nøkkelen.

ssh-copy-id [email protected]

Selv om du ikke logger på den eksterne datamaskinen, må du fortsatt autentisere deg med et passord. Den eksterne datamaskinen må identifisere hvilken brukerkonto den nye SSH-nøkkelen tilhører.

  Hvordan bruke ls-kommandoen til å liste filer og kataloger på Linux

Merk at passordet du må oppgi her er passordet for brukerkontoen du logger på. Dette er ikke passordfrasen du nettopp har opprettet.

Når passordet er bekreftet, overfører ssh-copy-id din offentlige nøkkel til den eksterne datamaskinen.

Du kommer tilbake til ledeteksten på datamaskinen. Du er ikke koblet til den eksterne datamaskinen.

Koble til med SSH-nøkler

La oss følge forslaget og prøve å koble til den eksterne datamaskinen.

ssh [email protected]

Fordi prosessen med tilkobling vil kreve tilgang til din private nøkkel, og fordi du beskyttet SSH-nøklene dine bak en passordfrase, må du oppgi passordfrasen slik at tilkoblingen kan fortsette.

Skriv inn passordfrasen og klikk på Lås opp-knappen.

Når du har skrevet inn passordfrasen i en terminaløkt, trenger du ikke å skrive den inn igjen så lenge du har terminalvinduet åpent. Du kan koble til og fra så mange eksterne økter du vil, uten å skrive inn passordfrasen igjen.

Du kan krysse av i boksen for «Lås opp denne nøkkelen automatisk når jeg er pålogget», men det vil redusere sikkerheten din. Hvis du lar datamaskinen være uten tilsyn, kan hvem som helst opprette tilkoblinger til de eksterne datamaskinene som har den offentlige nøkkelen din.

Når du har skrevet inn passordfrasen, er du koblet til den eksterne datamaskinen.

For å bekrefte prosessen en gang til ende til ende, koble fra med exit-kommandoen og koble til den eksterne datamaskinen på nytt fra det samme terminalvinduet.

ssh [email protected]

Du vil bli koblet til den eksterne datamaskinen uten behov for passord eller passordfrase.

Ingen passord, men forbedret sikkerhet

Eksperter på nettsikkerhet snakker om en ting som kalles sikkerhetsfriksjon. Det er den mindre smerten du må tåle for å få ekstra sikkerhet. Det er vanligvis noen ekstra trinn eller to som kreves for å ta i bruk en sikrere arbeidsmetode. Og de fleste liker det ikke. De foretrekker faktisk lavere sikkerhet og mangel på friksjon. Det er menneskets natur.

Med SSH-nøkler får du økt sikkerhet og økt brukervennlighet. Det er en klar vinn-vinn.