Sådan konfigureres en SSH-nøgle på Linux

click fraud protection

SSH er en fantastisk teknologi; du kan bruge det til skjul VPN-trafik med det, sikre dig forbindelse til websteder og meget mere. Det eneste problem er, hver gang du prøver at logge ind på en ekstern maskine, skal du indtaste din adgangskode, og det kan være kedeligt. Hvis du er en udvikler, der ønsker at oprette forbindelse til en masse maskiner over SSH på en gang med et Bash-script, eller bare en person, der bruger Secure Shell og er træt af at indtaste adgangskoder, er der en løsning: SSH uden adgangskode. Denne proces involverer generering af en sikker SSH-nøgle på værtsmaskinen og deling af den som en måde at få adgang til pc'en. Dette giver alle med nøglen mulighed for at logge på, selvom de ikke kender adgangskoden. Sådan får du det i gang.

Hvad er SSH-nøgler?

En SSH-nøgle er en unik identifikationsfil, der bruges med Secure Shell. Formålet med disse nøgler er at give brugeren en unik identitet og markere dem som "betroede", når du logger ind. Disse taster er i sig selv mere end filer, der beviser nogen identitet. Faktisk lader SSH brugere logge på med en nøgle i stedet for med en adgangskode. Betydning, i stedet for at blive tvunget til at indtaste en adgangskode, hver gang du logger på SSH, bruger du SSH-nøglen.

instagram viewer

SSH-nøglen er placeret et sikkert sted på din Linux-installation, og derfra kan du logge ind på fjernmaskinen så meget som du vil uden en adgangskode.

Generering af sikre SSH-nøgler

Generering af en sikker SSH-nøgle kræver først, at SSH er i gang. Forstå, at dette ikke nødvendigvis betyder, at du har brug for en SSH-server. Bare at de grundlæggende SSH-værktøjer og teknologier kører på din Linux-pc. Ikke sikker på, hvordan man konfigurerer SSH? Følg vores vejledning om det her.

Generer altid SSH-nøglerne på systemet, der er vært for SSH-serveren. Forsøg ikke at generere dem på serveren, der ikke er vært for en SSH-session, og kopier den over til SSH-værtsmaskinen. Det fungerer ikke.

Åbn en terminal for at starte nøglegenerationsprocessen. Kør inden i terminalvinduet:

ssh-keygen-t rsa

Løb ssh- keygen vil udskrive "Generering af offentligt / privat rsa-nøglepar". Dette betyder, at systemet genererer både en offentlig nøgle og en privat nøgle, du kan bruge. Offentlige nøgler er dem, som enhver kan bruge, og du skal være i orden at give ud. En privat nøgle er derimod noget, du aldrig bør dele med nogen. Derfor navnet “privat”.

Tasterne gemmer sig selv på /hjem / brugernavn / .ssh / id_rsa.

Bemærk: SLET IKKE det ~ / .Ssh mappe, da den indeholder dine nøgler. Hvis du manipulerer med denne mappe på nogen måde og derefter prøver at logge ind på denne maskine eksternt, vil SSH-prompten mislykkes. Det udskriver også en advarsel og låser dig ud.

SSH-nøgler på fjernmaskine

Nu hvor SSH-nøglerne (både offentlige og private nøgler) er oprettet og klar til brug, skal du kopiere dem til det system, du leder efter at logge ind fra. Det er vigtigt, at du gentager denne proces på alle de maskiner, du planlægger at logge ind via SSH. Ellers skal de, der ikke har nøglen, logge ind ved hjælp af kodeordsmetoden.

Følg dette eksempel for at føje nøglerne til fjernsystemet. Sørg for, at du gør dette fra værtsmaskinen over SSH.

ssh brugernavn @ remote-host-name mkdir -p .ssh

Kørsel af denne ssh-kommando opretter en skjult ~ / .Ssh mappe på den eksterne maskins hjemmekatalog (med den bruger, der blev brugt til at logge ind). Denne mappe er vigtig, da det er her, vi kopierer de nyligt genererede SSH-nøglefiler.

For at kopiere SSH-nøglefiler over skal du køre endnu en kommando fra SSH-værtsmaskinen til den eksterne maskine, der har brug for nøglerne:

cat .ssh / id_rsa.pub | ssh brugernavn @ fjernhost-navn 'kat >> .ssh / autoriserede_taster'

Kopieringen tager et par sekunder afhængigt af netværkshastighed. Når den er færdig, vil den eksterne pc have de genererede nøgler og vil være i stand til at logge ind på SSH-værts-pc'en uden en adgangskode.

Sikkerhedskopiering af SSH-nøgler

SSH-nøgler er nyttige ting, og hver enkelt er unik. Det er på grund af dette, at det er den bedste handlingsvej at bakke dem op. Problemet er, at hvis du gemmer den et andet sted, kan nogen finde din SSH-nøgle, opbevare den og bruge den til sig selv. Så spørgsmålet er, hvad er en god måde at sikkerhedskopiere en SSH-nøgle på? Kryptering.

Den hurtigste, mest effektive (og nemmeste måde) at kryptere er at bruge GnuPG. Selve værktøjet er indbygget i de fleste af de krypteringsværktøjer, der allerede er på Linux, og er kloden til, når der krypteres filer. For at installere GnuPG skal du åbne en terminal og søge i din pakkeadministrator efter "gpg". Programmet skal være let at finde, selv på meget uklar Linux-distributioner.

Når GPG er i gang, skal du starte krypteringsprocessen ved at komprimere din ~ / .Ssh bibliotek i tar arkivfil. Dette gøres så det ikke er nødvendigt at kryptere hver enkelt fil i filen individuelt ~ / .Ssh folder.

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

Når komprimeringen er afsluttet, skal du starte krypteringsprocessen.

Bemærk: Kør før kryptering gpg i terminalen for at generere en ny nøglering.

gpg -c ssh-stuff.tar.gz

Når krypteringsprocessen er afsluttet, udskriver GnuPG en fil med etiketten "ssh- stuff.tar.gz.gpg“. Du kan gerne slette den originale, ulåste version af filen. Gør følgende for at dekryptere dit backuparkiv:

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