Sådan konfigureres SSH-nøgler på CentOS

Sådan konfigureres SSH-nøgler på CentOS

SSH (Secure Shell) er en krypteret netværksprotokol, der bruges til at etablere sikre forbindelser mellem to computere, typisk en klient og en server. SSH-nøgleautentificering er en metode til at logge ind på en server ved hjælp af et kryptografisk nøglepar i stedet for et brugernavn og en adgangskode. Denne metode anses for at være mere sikker end adgangskodeautentificering, da den ikke er modtagelig over for brute-force-angreb eller phishing.

I denne vejledning vil vi gennemgå trinene til at konfigurere SSH-nøgleautentificering på CentOS-servere. Vi vil dække generering af nøglepar, tilføjelse af den offentlige nøgle til serveren og konfiguration af SSH-serveren til at tillade nøgleautentificering.

Forudsætninger

* En CentOS-server med root-adgang
* En SSH-klient installeret på din lokale maskine

Trin 1: Generer SSH-nøglepar

Det første trin er at generere et SSH-nøglepar på din lokale maskine. Du kan gøre dette ved at åbne en terminal og køre følgende kommando:


ssh-keygen -t rsa

Du bliver bedt om at angive en placering til at gemme nøgleparret og en adgangskode til at beskytte den private nøgle. Vælg en sikker adgangskode og huske den, da du skal indtaste den hver gang du logger ind med den private nøgle.

Trin 2: Tilføj den offentlige nøgle til serveren

Dernæst skal du tilføje den offentlige nøgle til den server, du vil logge ind på. Du kan gøre dette ved at kopiere den offentlige nøglefil (.pub) til serveren ved hjælp af kommandoen scp:


scp ~/.ssh/id_rsa.pub root@<server_ip_address>:/root/.ssh/authorized_keys

Erstat ‘‘ med IP-adressen eller domænenavnet på din server.

Trin 3: Konfigurer SSH-serveren

Nu skal du konfigurere SSH-serveren til at tillade nøgleautentificering. Åbn SSH-konfigurationsfilen (/etc/ssh/sshd_config) ved hjælp af en teksteditor:


sudo vi /etc/ssh/sshd_config

Find følgende linjer i filen:


#PasswordAuthentication yes
#ChallengeResponseAuthentication yes

Fjern hash-tegnene (#) fra begyndelsen af disse linjer for at aktivere dem. Skift derefter følgende linje for at tillade kun nøgleautentificering:


AuthenticationMethods keyboard-interactive,password

til:


AuthenticationMethods publickey

Gem filen og genstart SSH-serveren:


sudo systemctl restart sshd

Konklusion

Du har nu konfigureret SSH-nøgleautentificering på din CentOS-server. Ved at bruge SSH-nøgler til at logge ind, øger du sikkerheden af din server ved at fjerne behovet for adgangskoder, som kan være sårbare over for kompromittering. SSH-nøgleautentificering er en god praksis for at beskytte dine servere mod uautoriseret adgang og opretholde høj netværkssikkerhed.

Ofte stillede spørgsmål

Q: Kan jeg stadig logge ind med en adgangskode, selvom jeg har konfigureret SSH-nøgleautentificering?

A: Nej, konfigurationen af SSH-serveren til at tillade kun nøgleautentificering forhindrer login via adgangskode.

Q: Hvad skal jeg gøre, hvis jeg mister min private nøgle?

A: Hvis du mister din private nøgle, skal du generere et nyt nøglepar og tilføje den offentlige nøgle til serveren igen.

Q: Kan jeg bruge SSH-nøgler på flere servere?

A: Ja, du kan bruge det samme nøglepar til at logge ind på flere servere. Bare sørg for at tilføje den offentlige nøgle til den autoriserede nøglefil på hver server.

Q: Hvad er fordelene ved SSH-nøgleautentificering?

A: SSH-nøgleautentificering er mere sikker end adgangskodeautentificering, da den ikke er modtagelig over for brute-force-angreb eller phishing. Det er også mere praktisk, da du ikke behøver at indtaste en adgangskode hver gang du logger ind.

Q: Hvordan kan jeg kontrollere, om SSH-nøgleautentificering er konfigureret korrekt?

A: Du kan kontrollere, om SSH-nøgleautentificering er konfigureret korrekt ved at forsøge at logge ind på serveren ved hjælp af din private nøgle. Hvis du kan logge ind uden at indtaste en adgangskode, er nøgleautentificering konfigureret korrekt.

Q: Kan jeg bruge et password til at beskytte min private nøgle?

A: Ja, du kan angive en adgangskode til at beskytte din private nøgle, når du genererer nøgleparret. Dette giver et ekstra lag af sikkerhed, da en angriber skal indtaste både adgangskoden og den private nøgle for at få adgang til serveren.

Q: Hvad er risikoen ved at bruge SSH-nøgler?

A: Den største risiko ved at bruge SSH-nøgler er, at hvis din private nøgle går tabt eller bliver kompromitteret, kan en angriber få adgang til din server. Derfor er det vigtigt at opbevare din private nøgle på et sikkert sted og at generere et nyt nøglepar, hvis du mener, at din nøgle er blevet kompromitteret.

Q: Kan jeg automatisere processen med at tilføje offentlige nøgler til flere servere?

A: Ja, du kan bruge værktøjer som Ansible eller Puppet til at automatisere processen med at tilføje offentlige nøgler til flere servere. Dette kan være nyttigt i miljøer med et stort antal servere, hvor manuel administration kan være tidskrævende.

Tags: SSH, SSH-nøgleautentificering, CentOS, serversikkerhed, cybersikkerhed