Sådan oprettes og installeres SSH-nøgler fra Linux Shell

Tag cybersikkerhed seriøst, og brug SSH-nøgler til at få adgang til fjernlogin. De er en mere sikker måde at oprette forbindelse på end adgangskoder. Vi viser dig, hvordan du genererer, installerer og bruger SSH-nøgler i Linux.

Hvad er der galt med adgangskoder?

Secure shell (SSH) er den krypterede protokol, der bruges til at logge ind på brugerkonti på fjerntliggende Linux- eller Unix-lignende computere. Sådanne brugerkonti er typisk sikret ved hjælp af adgangskoder. Når du logger på en fjerncomputer, skal du angive brugernavn og adgangskode til den konto, du logger på.

Adgangskoder er det mest almindelige middel til at sikre adgang til computerressourcer. På trods af dette har adgangskodebaseret sikkerhed sine mangler. Folk vælger svage adgangskoder, deler adgangskoder, bruger den samme adgangskode på flere systemer og så videre.

SSH-nøgler er meget mere sikre, og når de først er sat op, er de lige så nemme at bruge som adgangskoder.

Hvad gør SSH-nøgler sikre?

SSH-nøgler oprettes og bruges i par. De to nøgler er forbundet og kryptografisk sikre. Den ene er din offentlige nøgle, og den anden er din private nøgle. De er knyttet til din brugerkonto. Hvis flere brugere på en enkelt computer bruger SSH-nøgler, vil de hver modtage deres eget nøglepar.

Din private nøgle er installeret i din hjemmemappe (normalt), og den offentlige nøgle er installeret på den eller de fjerncomputere, som du skal have adgang til.

Din private nøgle skal opbevares sikkert. Hvis det er tilgængeligt for andre, er du i samme situation, som hvis de havde opdaget dit kodeord. En fornuftig – og stærkt anbefalet – forholdsregel er, at din private nøgle krypteres på din computer med en robust adgangssætning.

  4 bedste terminalapps til Linux

Den offentlige nøgle kan deles frit uden at gå på kompromis med din sikkerhed. Det er ikke muligt at afgøre, hvad den private nøgle er ud fra en undersøgelse af den offentlige nøgle. Den private nøgle kan kryptere beskeder, som kun den private nøgle kan dekryptere.

Når du foretager en forbindelsesanmodning, bruger fjerncomputeren sin kopi af din offentlige nøgle til at oprette en krypteret besked. Meddelelsen indeholder et sessions-id og andre metadata. Kun den computer, der er i besiddelse af den private nøgle – din computer – kan dekryptere denne besked.

Din computer får adgang til din private nøgle og dekrypterer beskeden. Den sender derefter sin egen krypterede besked tilbage til fjerncomputeren. Denne krypterede meddelelse indeholder blandt andet det sessions-id, der blev modtaget fra fjerncomputeren.

Fjerncomputeren ved nu, at du skal være den, du siger, du er, fordi kun din private nøgle kunne udtrække sessions-id’et fra den besked, den sendte til din computer.

Sørg for, at du kan få adgang til fjerncomputeren

Sørg for, at du eksternt kan oprette forbindelse til og logge ind på fjerncomputeren. Dette beviser, at dit brugernavn og din adgangskode har en gyldig konto oprettet på fjerncomputeren, og at dine legitimationsoplysninger er korrekte.

Forsøg ikke at gøre noget med SSH-nøgler, før du har bekræftet, at du kan bruge SSH med adgangskoder til at oprette forbindelse til målcomputeren.

I dette eksempel er en person med en brugerkonto kaldet dave logget ind på en computer kaldet wdzwdz . De vil oprette forbindelse til en anden computer kaldet Sulaco.

De indtaster følgende kommando:

ssh [email protected]

De bliver bedt om deres adgangskode, de indtaster det, og de er forbundet med Sulaco. Deres kommandolinjeprompt ændres for at bekræfte dette.

Det er alt den bekræftelse, vi har brug for. Så brugeren dave kan afbryde forbindelsen til Sulaco med exit-kommandoen:

exit

De modtager afbrydelsesmeddelelsen, og deres kommandolinjeprompt vender tilbage til [email protected]

  Sådan opsætter du en transmissions-bittorrent-server på Linux

Oprettelse af et par SSH-nøgler

Disse instruktioner blev testet på Ubuntu, Fedora og Manjaro distributioner af Linux. I alle tilfælde var processen identisk, og der var ikke behov for at installere ny software på nogen af ​​testmaskinerne.

For at generere dine SSH-nøgler skal du skrive følgende kommando:

ssh-keygen

Genereringsprocessen starter. Du bliver spurgt, hvor du ønsker, at dine SSH-nøgler skal opbevares. Tryk på Enter-tasten for at acceptere standardplaceringen. Tilladelserne på mappen vil kun sikre den til din brug.

Du bliver nu bedt om en adgangssætning. Vi anbefaler kraftigt, at du indtaster en adgangssætning her. Og husk hvad det er! Du kan trykke på Enter for ikke at have nogen adgangssætning, men det er ikke en god idé. En adgangssætning, der består af tre eller fire uforbundne ord, kædet sammen, vil give en meget robust adgangssætning.

Du vil blive bedt om at indtaste den samme adgangssætning igen for at bekræfte, at du har skrevet, hvad du troede, du havde skrevet.

SSH-nøglerne genereres og gemmes for dig.

Du kan ignorere den “randomart”, der vises. Nogle fjerncomputere viser dig muligvis deres tilfældige kunst, hver gang du opretter forbindelse. Ideen er, at du vil genkende, hvis den tilfældige art ændres, og være mistænksom over for forbindelsen, fordi det betyder, at SSH-nøglerne til den server er blevet ændret.

Installation af den offentlige nøgle

Vi skal installere din offentlige nøgle på Sulaco, fjerncomputeren, så den ved, at den offentlige nøgle tilhører dig.

Vi gør dette ved at bruge kommandoen ssh-copy-id. Denne kommando opretter en forbindelse til fjerncomputeren som den almindelige ssh-kommando, men i stedet for at tillade dig at logge på, overfører den den offentlige SSH-nøgle.

ssh-copy-id [email protected]

Selvom du ikke logger ind på fjerncomputeren, skal du stadig godkende ved hjælp af en adgangskode. Fjerncomputeren skal identificere, hvilken brugerkonto den nye SSH-nøgle tilhører.

  Sådan opgraderes til Linux Mint 19

Bemærk, at den adgangskode, du skal angive her, er adgangskoden til den brugerkonto, du logger på. Dette er ikke den adgangssætning, du lige har oprettet.

Når adgangskoden er blevet bekræftet, overfører ssh-copy-id din offentlige nøgle til fjerncomputeren.

Du vender tilbage til kommandoprompten på din computer. Du efterlades ikke forbundet til fjerncomputeren.

Tilslutning ved hjælp af SSH-nøgler

Lad os følge forslaget og prøve at oprette forbindelse til fjerncomputeren.

ssh [email protected]

Fordi forbindelsesprocessen kræver adgang til din private nøgle, og fordi du beskyttede dine SSH-nøgler bag en adgangssætning, skal du angive din adgangssætning, så forbindelsen kan fortsætte.

Indtast din adgangssætning, og klik på knappen Lås op.

Når du har indtastet din adgangssætning i en terminalsession, behøver du ikke indtaste den igen, så længe du har terminalvinduet åbent. Du kan tilslutte og afbryde forbindelsen fra så mange fjernsessioner, som du vil, uden at indtaste din adgangskode igen.

Du kan markere afkrydsningsfeltet for “Lås automatisk denne nøgle op, når jeg er logget ind”, men det vil reducere din sikkerhed. Hvis du efterlader din computer uden opsyn, kan alle oprette forbindelser til de fjerncomputere, der har din offentlige nøgle.

Når du har indtastet din adgangssætning, er du forbundet til fjerncomputeren.

For at bekræfte processen endnu en gang fra ende til anden skal du afbryde forbindelsen med exit-kommandoen og genoprette forbindelsen til fjerncomputeren fra det samme terminalvindue.

ssh [email protected]

Du vil blive forbundet til fjerncomputeren uden behov for en adgangskode eller adgangssætning.

Ingen adgangskoder, men forbedret sikkerhed

Cybersikkerhedseksperter taler om noget, der kaldes sikkerhedsfriktion. Det er den mindre smerte, du skal affinde dig med for at opnå ekstra sikkerhed. Der kræves normalt et ekstra trin eller to for at anvende en mere sikker arbejdsmetode. Og de fleste mennesker kan ikke lide det. De foretrækker faktisk lavere sikkerhed og manglen på friktion. Det er den menneskelige natur.

Med SSH nøgler får du øget sikkerhed og øget bekvemmelighed. Det er en klar win-win.