Hvordan sette opp en SSH-nøkkel på Linux

click fraud protection

SSH er en flott teknologi; du kan bruke den til skjul VPN-trafikk med det, sikre deg forbindelse til nettsteder og mer. Det eneste problemet er at hver gang du prøver å logge deg på en ekstern maskin, må du oppgi passordet ditt, og det kan være kjedelig. Hvis du er en utvikler som ønsker å koble til mange maskiner over SSH på en gang med et Bash-skript, eller bare noen som bruker Secure Shell og er lei av å oppgi passord, er det en løsning: passordløs SSH. Denne prosessen innebærer å generere en sikker SSH-nøkkel på vertsmaskinen, og dele den som en måte å få tilgang til PCen. Dette vil tillate alle med nøkkelen å logge seg på, selv om de ikke vet passordet. Slik får du det til.

Hva er SSH-nøkler?

En SSH-nøkkel er en unik identifikasjonsfil som brukes med Secure Shell. Hensikten med disse nøklene er å gi en unik identitet til brukeren, og merke dem som "pålitelige" når du logger på. Disse nøklene i seg selv er mer enn filer som beviser noen identitet. Faktisk lar SSH brukere logge på med en nøkkel i stedet for et passord. Betydning, i stedet for å bli tvunget til å oppgi et passord hver gang du logger på SSH, bruker du SSH-tasten.

instagram viewer

SSH-nøkkelen er plassert et sikkert sted på din Linux-installasjon, og derfra kan du logge deg på den eksterne maskinen så mye du vil uten passord.

Genererer sikre SSH-nøkler

Å generere en sikker SSH-nøkkel krever først at SSH er i gang. Forstår at dette ikke nødvendigvis betyr at du trenger å ha en SSH-server. Bare at de grunnleggende SSH-verktøyene og teknologiene kjører på din Linux-PC. Er du usikker på hvordan du konfigurerer SSH? Følg guiden vår om den her.

Generer alltid SSH-tastene på systemet som er vert for SSH-serveren. Ikke prøv å generere dem på serveren som ikke er vert for en SSH-økt, og kopier den over til SSH-vertsmaskinen. Det vil ikke fungere.

For å starte nøkkelgenereringsprosessen, åpner du en terminal. Kjør: i terminalvinduet

ssh-keygen -t rsa

Løping ssh-keygen vil skrive ut “Generering public / private rsa key pair”. Dette betyr at systemet genererer både en offentlig nøkkel og en privat nøkkel du kan bruke. Offentlige nøkler er de alle kan bruke, og du bør ha det bra med å gi ut. En privat nøkkel er derimot noe du aldri bør dele med noen. Derav navnet “privat”.

Tastene vil lagre seg på /home / brukernavn / .ssh / id_rsa.

Merk: SLETT IKKE de ~ / .Ssh mappen, da den inneholder nøklene dine. Hvis du tukler med denne mappen på noen måte og prøver å logge deg på denne maskinen eksternt, vil SSH-ledeteksten mislykkes. Det vil også skrive ut en advarsel og låse deg ut.

SSH-nøkler på ekstern maskin

Nå som SSH-nøklene (både offentlige og private) er opprettet og klar til bruk, må du kopiere dem til systemet du ønsker å logge inn fra. Det er viktig at du gjentar denne prosessen på alle maskinene du planlegger å logge inn via SSH. Ellers må de som ikke har nøkkel, logge seg på med passordmetoden.

Følg dette eksemplet for å legge til tastene til det eksterne systemet. Forsikre deg om at du gjør dette fra vertsmaskinen over SSH.

ssh brukernavn @ ekstern vert-navn mkdir -p .ssh

Å kjøre denne ssh-kommandoen vil opprette en skjult ~ / .Ssh -mappen på hjemmekatalogen til den eksterne maskinen (med brukeren som ble brukt til å logge på). Denne mappen er viktig, for det er her vi kopierer de nylig genererte SSH-nøkkelfilene.

For å kopiere SSH-nøkkelfilene over, kjører du nok en kommando fra SSH-vertsmaskinen til den eksterne maskinen som trenger nøklene:

cat .ssh / id_rsa.pub | ssh brukernavn @ ekstern vertsnavn 'katt >> .ssh / autoriserte_taster'

Kopieringen vil ta noen sekunder, avhengig av nettverkshastighet. Når den er ferdig vil den eksterne PCen ha de genererte nøklene, og vil kunne logge seg på SSH-verts-PC-en uten passord.

Sikkerhetskopiere SSH-nøkler

SSH-nøkler er nyttige ting, og hver og en er unik. Det er på grunn av dette, det er det beste handlingsløpet å støtte dem. Problemet er at hvis du lagrer den andre steder, kan noen finne SSH-nøkkelen din, beholde den og bruke den for seg selv. Så spørsmålet er, hva er en god måte å sikkerhetskopiere en SSH-nøkkel på? Kryptering.

Den raskeste, mest effektive (og enkleste måten) å kryptere er å bruke GnuPG. Selve verktøyet er innebygd i de fleste av krypteringsverktøyene som allerede er på Linux, og er målet for å kryptere filer. For å installere GnuPG, åpne opp en terminal og søk i pakkehåndtereren din etter “gpg”. Programmet skal være enkelt å finne, selv på veldig uklar Linux-distribusjoner.

Når GPG er i gang, kan du starte krypteringsprosessen ved å komprimere din ~ / .Ssh katalog til arkivfil. Hvis du gjør dette, vil det være slik at det ikke er behov for å kryptere hver enkelt fil i filen ~ / .Ssh mappe.

tar -czvf ssh-stuff.tar.gz /home/username/.ssh

Når komprimeringen er ferdig, kan du starte krypteringsprosessen.

Merk: før du krypterer, kjør gpg i terminalen for å generere en ny nøkkelring.

gpg -c ssh-stuff.tar.gz

Når krypteringsprosessen er fullført, vil GnuPG legge ut en fil med etiketten "ssh-stuff.tar.gz.gpg“. Slett gjerne den originale, ulåste versjonen av filen. Gjør følgende for å dekryptere sikkerhetskopiarkivet:

gpg ssh-stuff.tar.gz.gpg
watch instagram story