- - Hvordan konfigurere en SSH-nøkkel på Linux

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

SSH er en flott teknologi; du kan bruke den til å skjuleVPN-trafikk med det, sikrer deg forbindelse til nettsteder og mer. Det eneste problemet er at hver gang du prøver å logge 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: SSH uten passord. Denne prosessen innebærer å generere en sikker SSH-nøkkel på vertsmaskinen, og dele den som en måte å få tilgang til PC-en på. 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 sombrukes 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.

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 det førstSSH 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-nøklene 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 trykke “Genererer offentlig / privat rsa-nøkkelpar". 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 deretter prøver å logge 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økler (både offentlige og privatede) 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 username@remote-host-name 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 username@remote-host-name "cat >> .ssh/authorized_keys"

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 det er hver enkeltunik. 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) åkryptering 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 tar 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
</ P>

kommentarer