Det er en utmerket ide å logge på din sikre server uten et passord. Seriøst, bli kvitt det. Det er ikke nødvendig å bruke et passord på en av de mest angripne tjenestene på webservere, ikke sant?

Okei, nok sjokkerende. Det er sant, skjønt. Standard passordbasert godkjenning på SSH er en dårlig ide. Passord kan brytes ganske enkelt, og når de er det eneste som står mellom en angriper og uhindret tilgang til serveren din, bør du definitivt være nervøs.

Derfor er RSA nøkkelbasert godkjenning mye bedre. Du kan konfigurere Linux-serveren din til bare å tillate tilgang fra datamaskiner som har RSA-nøklene som den allerede har akseptert. Alle andre vil bli avvist umiddelbart. Som en ekstra fordel kan du opprette disse nøklene med eller uten et passord, som helt opp til deg. En sterk nøkkel uten passord er greit i de fleste tilfeller, skjønt.

Hvis du også bruker Linux-enheter hjemme, har du den ekstra fordelen av bekvemmelighet. Si at du vil SSH inn på Linux-arbeidsstasjonen din fra din bærbare PC. Vil du virkelig angi passordet ditt hver gang? Sett opp SSH-nøkler, og du trenger ikke.

Installer pakkene

Det er et par pakker du trenger. Du har sannsynligvis allerede noen av dem, men det er en god ide å sjekke. Pakken er forskjellig på serveren og klienten, men det er også en god sjanse for at begge maskinene er servere og klienter til hverandre (hjemme situasjon), så du vil kanskje installere begge sett med pakker.

På serveren

Serveren trenger bare OpenSSH-tjenesten installert og kjørt. Det er ikke som standard på Debian og Ubuntu-systemer. Hvis du ikke allerede har installert det, gjør du det.

 sudo apt installer openssh-server 

På kunden

Klienten trenger OpenSSH klientpakken. OpenSSH har et innebygd verktøy for generering av nøkler.

 sudo apt installer openssh-klienten 

Generer nøkkelen din

Det er veldig enkelt å generere nøkkelen din. Bare fortell OpenSSH at du trenger å generere nøkkelen. Det er også en god ide å spesifisere mengden biter med -b flagget og typen med -t . En 4096 bitsnøkkel er best. Det gir sterkere kryptering.

 ssh-keygen -b 4096 -t rsa 

Først vil verktøyet spørre hvor du vil lagre nøkkelen. Bare trykk Enter for standard katalogen. Da vil det be om et passord. La det være tomt for en passordløs nøkkel og passordløs autentisering. Hvis du vil bruke et passord for nøkkelen din, skriver du inn den.

Datamaskinen tar et par sekunder for å generere nøkkelen. Når det er gjort, vil det fortelle deg at det er ferdig og skrive ut et ASCII-kunstbilde.

Send nøkkelen din

For å bruke nøkkelen din må du sende den til serveren din. OpenSSH har et annet innebygd verktøy for det også. Fortell det hvor nøkkelen din er og hvilken bruker på serveren som skal knytte den til.

 ssh-copy-id -i ~ / .ssh / id_rsa.pub [email protected] 

Skriv inn IP-adressen til serveren. Det er akkurat som du får tilgang til serveren over SSH (du er), men det sender bare over nøkkelen.

Deretter kan du prøve å få tilgang til serveren over SSH igjen. Denne gangen bør det bare gi deg inn uten et passord.

Konfigurer SSH til å blokkere passord

For å få best mulig sikkerhet, må du deaktivere SSH-passordlogg på serveren. SSH-serverkonfigurasjonen finnes på "/ etc / ssh / sshd_config." Åpne filen på serveren med sudo og din favoritt tekstredigerer.

Finn linjene under og rediger dem for å se ut som eksemplet. Uncomment begge oppføringene og endre verdiene til no .

 PasswordAuthentication no PermitEmptyPasswords no 

Det vil ikke gjøre noe hvis du lar PAM-godkjenning aktiveres. Finn linjen under og sett den til no .

 BrukPAM-nr 

Når oppføringene er endret, lagre og avslutt filen, og start deretter SSH-serveren for at de skal tre i kraft.

 sudo systemctl restart sshd 

Hvis du fortsatt er fast bestemt på å beholde passordautentiseringsmetoden, ikke glem å konfigurere to faktorautentisering som et ekstra lag av beskyttelse.

Det er det! Serveren din er mye sikrere nå uten passord. Du har også den ekstra fordelen at du ikke trenger å skrive dem inn. Du kan også utveksle din enkeltnøkkel med så mange servere som du vil.