Nøkkeltyper
Nøkkelgenerering
Denne opplæringen viser deg hvordan du genererer og sikrer SSH-nøkler på macOS Sierra (10.12) og macOS High Sierra (10.13). SSH-nøkler lar deg logge på serveren din uten passord. De øker både bekvemmeligheten og sikkerheten ved å være betydelig mer motstandsdyktig mot brute-force-angrep.
SSH (Secure Shell) er en protokoll som oftest brukes for ekstern administrasjon og for filoverføring ofte betegnet som sFTP (Secure File Transfer Protocol). Når du får tilgang til en ekstern server som en Vultr VPS, anbefales det å bruke SSH med PKE (Public Key Exchange) som bruker et nøkkelpar der den offentlige nøkkelen leveres til serveren og den private nøkkelen er lagret på maskinen din.
SSH-nøkler kan automatisk legges til servere under installasjonsprosessen ved å legge til dine offentlige nøkler i Vultr-kontrollpanelet. Du kan administrere SSH-nøklene dine på denne siden . Det er viktig å huske at dette kun er dine offentlige nøkler (vanligvis betegnet med .pub), du bør aldri avsløre dine private nøkler.
Nøkkeltyper
Det er flere forskjellige nøkkeltyper som kan velges. Bruk -targumentet etter generasjon, for eksempel ssh-keygen -t ed25519. ED25519-nøkkeltypen, som bruker en elliptisk kurvesignatur, er sikrere og mer ytelsesdyktig enn DSA eller ECDSA. De fleste moderne SSH-programvare (som OpenSSH siden versjon 6.5) støtter nøkkeltypen ED25519, men du kan fortsatt finne programvare som er inkompatibel, og derfor er standardnøkkeltypen fortsatt RSA.
Standard nøkkeltype er 2048-bit RSA som gir god sikkerhet og kompatibilitet. For høyere sikkerhet kan du velge en større nøkkelstørrelse ved å bruke -bargumentet ved generering, for eksempel ssh-keygen -b 4096å lage et 4096-bits RSA-nøkkelpar.
Nøkkelgenerering
For å generere en SSH-nøkkel, må du åpne Terminal.appi "Programmer > Verktøy > Terminal".
For å opprette et 4096-bits RSA-nøkkelpar, skriv inn:
ssh-keygen -b 4096
Da vil du se:
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/username/.ssh/id_rsa):
Ved å trykke på Enter/Retur vil det nye nøkkelparet lagres til denne standardplasseringen, noe som anbefales. Du vil da ha muligheten til å lage en passordfrase, som vil kryptere nøkkelen slik at den ikke kan brukes uten autorisasjon. Det anbefales også å bruke en passordfrase.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
SHA256:0irBXp+xKwT5e0ZFklbEVkzxu0Bzv9PmvstFD5w6zlQ username@Your-Mac.local
The key's randomart image is:
+---[RSA 4096]----+
| =o++. |
| + + .. |
| . . + o o |
| .o . .. + + |
| ooo S. . E o|
| . oo+.+ + ++|
| o..o+ + .o=|
| .o o. + ..oo|
| +. o ==|
+----[SHA256]-----+
På dette tidspunktet er nøkkelparet ditt opprettet og lagret i ~/.ssh/id_rsa. For å gjøre nøkkelen tilgjengelig for systemet og lagre passordfrasen i systemets nøkkelring, må vi fullføre flere ekstra trinn. Merk at dette bare er nødvendig hvis du helst ikke vil bli spurt om nøkkelpassordet hver gang det brukes.
Legg til nytt nøkkelpar til SSH-agent
Gå inn ssh-add -K ~/.ssh/id_rsa. Du vil da bli bedt om passordfrasen, og du vil se følgende:
Identity added: id_rsa (username@Your-Mac.local)
Hvis du ønsker å bruke denne SSH-nøkkelen til å logge på en server som allerede er opprettet, kan du bruke ssh-copy-idverktøyet til å lagre den offentlige nøkkelen på serveren du vil ha tilgang til.
Legg til ny nøkkel til ekstern server
Bruker ssh-copy-id:
# Substitute your server IP
ssh-copy-id -i ~/.ssh/id_rsa root@192.0.2.1
Konsollen vil be om påloggingspassordet ditt siden den eksterne serveren ennå ikke er klar over nøkkelen din. Du vil se følgende:
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_rsa.pub"
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@192.0.2.1'"
and check to make sure that only the key(s) you wanted were added.
Du kan nå prøve å logge på den eksterne serveren med, ssh root@192.0.2.1og du bør være tilkoblet uten en passordforespørsel.