Ta cybersikkerhet på alvor og bruk SSH-nøkler for å få tilgang til eksterne pålogginger. 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å ekstern Linux eller Unix-aktig datamaskiner. Vanligvis er slike brukerkontoer sikret ved hjelp av passord. Når du logger på en ekstern datamaskin, må du oppgi brukernavn og passord for kontoen du logger på.
Passord er det vanligste middel for å sikre tilgang til databehandlingsressurser. Til tross for dette har passordbasert sikkerhet sine feil. 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 er satt opp, er de like enkle å bruke som passord.
Hva gjør SSH-nøkler sikre?
SSH-nøkler opprettes og brukes parvis. De to tastene 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 par nøkler.
Din private nøkkel er installert i hjemmemappen din (vanligvis), og den offentlige nøkkelen er installert på den eksterne datamaskinen - eller datamaskiner - som du trenger tilgang til.
Din private nøkkel må oppbevares trygg. 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 blir kryptert på datamaskinen din med en robust passordfrase .
Den offentlige nøkkelen kan deles fritt uten å gå på akkord med sikkerheten din. Det er ikke mulig å bestemme 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 ber om 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 den private nøkkelen har - datamaskinen din - kan dekryptere denne meldingen.
Datamaskinen din får tilgang til din private nøkkel og dekrypterer meldingen. Deretter sender den sin egen krypterte melding tilbake til den eksterne datamaskinen. Denne krypterte meldingen inneholder blant annet økt-ID-en 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 kan trekke ut økt-ID-en fra meldingen den sendte til datamaskinen din.
Forsikre deg om at du har tilgang til den eksterne datamaskinen
Sørg for at du kan eksternt 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 ringte en person med en brukerkonto
dave
er logget på en datamaskin som heter
howtogeek
. De kommer til å koble til en annen datamaskin som heter
Sulaco
.
De skriver inn følgende kommando:
ssh dave @ sulaco
De blir bedt om passord, de skriver inn det, og de er koblet til Sulaco. Kommandolinjeprompten endres for å bekrefte dette.
Det er all bekreftelse vi trenger. Så bruker
dave
kan koble fra
Sulaco
med
exit
kommando:
exit
De mottar frakoblingsmeldingen, og kommandolinjeprompten kommer tilbake til
dave @ howtogeek
.
I SLEKT: Slik kobler du til en SSH-server fra Windows, macOS eller Linux
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 behov for å installere ny programvare på noen av testmaskinene.
For å generere SSH-nøklene, skriv inn følgende kommando:
ssh-keygen
Generasjonsprosessen starter. Du blir spurt hvor du ønsker at SSH-nøklene dine skal lagres. Trykk på Enter-tasten for å godta standardplasseringen. Tillatelsene i mappen vil sikre den bare for bruk.
Du blir nå bedt om en passordfrase. Vi anbefaler deg sterkt å skrive inn en passordfrase her. Og husk hva det er! Du kan trykke Enter for å ikke ha passordfrase, men dette er ikke en god idé. En passordfrase bestående av tre eller fire ikke-tilkoblede ord, sammenkledd, vil gi en veldig robust passordfrase.
Du blir bedt om å oppgi den samme passordfrasen igjen 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 tilfeldig kunst hver gang du kobler til. Tanken er at du vil gjenkjenne om den tilfeldige kunsten endres, og være mistenksom for forbindelsen fordi det betyr at SSH-nøklene til den serveren er 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 hjelp av
ssh-copy-id
kommando. Denne kommandoen kobler til den eksterne datamaskinen som vanlig
ssh
kommandoen, men i stedet for å tillate deg å logge på, overfører den den offentlige SSH-nøkkelen.
ssh-copy-id dave @ sulaco
Selv om du ikke logger deg på den eksterne datamaskinen, må du fortsatt godkjenne ved hjelp av et passord. Den eksterne datamaskinen må identifisere hvilken brukerkonto den nye SSH-nøkkelen tilhører.
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,
ssh-copy-id
overfører den offentlige nøkkelen til den eksterne datamaskinen.
Du kommer tilbake til ledeteksten på datamaskinen. Du er ikke koblet til den eksterne datamaskinen.
Koble til ved hjelp av SSH-taster
La oss følge forslaget og prøve å koble til den eksterne datamaskinen.
ssh dave @ sulaco
Fordi tilkoblingsprosessen 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 angitt passordfrasen i en terminaløkt, trenger du ikke å skrive den inn igjen så lenge du har terminalvinduet åpent. Du kan koble til og koble fra så mange eksterne økter du vil, uten å angi passordfrasen igjen.
Du kan merke av i avmerkingsboksen 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 alle koble til eksterne datamaskiner som har din offentlige nøkkel.
Når du har angitt passordfrasen, er du koblet til den eksterne datamaskinen.
For å bekrefte prosessen enda en gang til slutt, kobler du fra
exit
kommandoen og koble den til den eksterne datamaskinen på nytt fra samme terminalvindu.
ssh dave @ sulaco
Du vil bli koblet til den eksterne datamaskinen uten behov for passord eller passordfrase.
Ingen passord, men forbedret sikkerhet
Cybersecurity-eksperter snakker om en ting som kalles sikkerhetsfriksjon. Det er den mindre smerten du må utholde for å få ekstra sikkerhet. Det er vanligvis noen ekstra trinn eller to som kreves for å bruke 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 bekvemmelighet. Det er en klar vinn-vinn.