Hur man konfigurerar SSH-nycklar på CentOS

Så konfigurerar du SSH-nycklar på CentOS

Introduktion

SSH (Secure Shell) är ett krypterat nätverksprotokoll som används för säker kommunikation över osäkra nätverk. Det låter dig ansluta till fjärrdatorer på ett säkert sätt och utföra kommandon som om du vore lokal.

För att förbättra säkerheten för SSH-anslutningar rekommenderas starkt att använda SSH-nycklar istället för lösenord. SSH-nycklar använder kryptografi för att generera ett par offentliga och privata nycklar. Den offentliga nyckeln delas med fjärrdatorn medan den privata nyckeln hålls hemlig på den lokala datorn. När du ansluter till en fjärrdator signerar du med din privata nyckel, och om signaturen verifieras av den offentliga nyckeln tillåts åtkomst.

Den här guiden kommer att vägleda dig genom stegen för att konfigurera SSH-nycklar på CentOS.

Steg-för-steg-guide

1. Generera ett SSH-nyckelpar

* Öppna din terminal och skriv följande kommando:


ssh-keygen -t ed25519 -C "Din_e-postadress"

* Du kommer att uppmanas att ange en plats för att spara nycklarna. Tryck på Enter för att acceptera standardplatsen eller ange en anpassad plats.
* Ange en stark lösenfras för att skydda dina SSH-nycklar.

2. Kopiera den offentliga nyckeln till fjärrdatorn

* Nu när du har genererat ett nyckelpar måste du kopiera den offentliga nyckeln till fjärrdatorn som du vill ansluta till. Du kan göra detta med följande kommando:


ssh-copy-id -i ~/.ssh/id_ed25519.pub användarnamn@fjarrdatorns_ip_eller_domän

* Ersätt ”användarnamn” med ditt användarnamn på fjärrdatorn och ”fjarrdatorns_ip_eller_domän” med IP-adressen eller domänen till fjärrdatorn.

3. Kontrollera autentisering

* Försök att ansluta till fjärrdatorn med din SSH-nyckel:


ssh användarnamn@fjarrdatorns_ip_eller_domän

* Du bör nu kunna ansluta till fjärrdatorn utan att behöva ange ett lösenord.

Avancerade alternativ

1. Ändra SSH-porten

* För att öka säkerheten kan du ändra SSH-porten från standardporten 22 till en annan port. Detta gör det svårare för obehöriga att gissa porten och försöka ansluta.
* För att ändra SSH-porten, redigera filen /etc/ssh/sshd_config och lägg till följande rad:


Port 2222

* Ersätt ”2222” med den nya porten du vill använda.

2. Inaktivera root-inloggning

* Av säkerhetsskäl rekommenderas att du inaktiverar root-inloggning via SSH. Detta tvingar användare att logga in med ett vanligt användarkonto och sedan använda sudo för att utföra administratörsåtgärder.
* För att inaktivera root-inloggning, redigera filen /etc/ssh/sshd_config och lägg till följande rad:


PermitRootLogin no

3. Tillåt nyckelbaserad autentisering endast

* För maximal säkerhet kan du tillåta endast nyckelbaserad autentisering och inaktivera lösenordsbaserad autentisering.
* För att göra detta, redigera filen /etc/ssh/sshd_config och lägg till följande rader:


PasswordAuthentication no
ChallengeResponseAuthentication no

4. Använd en yttre brandvägg

* En yttre brandvägg kan ge ytterligare ett säkerhetslager genom att begränsa åtkomsten till SSH-porten endast från betrodda IP-adresser.

Slutsats

Genom att konfigurera SSH-nycklar på CentOS har du förbättrat säkerheten för dina SSH-anslutningar avsevärt. Genom att använda kryptografi och undvika lösenordsbaserad autentisering skyddar du dina system från obehörig åtkomst och håller dina data säkra.

Kom ihåg att hålla dina SSH-nycklar säkra genom att använda en stark lösenfras och lagra dem på en säker plats. Genom att följa de steg och tips som beskrivs i den här guiden kan du säkerställa att dina SSH-anslutningar är så säkra som möjligt.

Vanliga frågor

1. Vad är fördelarna med att använda SSH-nycklar?
SSH-nycklar ger förbättrad säkerhet genom kryptering och eliminerar behovet av lösenord, vilket minskar risken för obehörig åtkomst.

2. Kan jag använda samma SSH-nyckelpar för flera fjärrdatorer?
Ja, du kan använda samma SSH-nyckelpar för att ansluta till flera fjärrdatorer genom att kopiera din offentliga nyckel till varje dator.

3. Vad händer om jag tappar min privata SSH-nyckel?
Om du tappar bort din privata SSH-nyckel kommer du inte längre att kunna använda den för att ansluta till fjärrdatorer. Du måste generera ett nytt nyckelpar.

4. Kan jag inaktivera SSH-lösenordsbaserad autentisering helt och hållet?
Ja, du kan inaktivera lösenordsbaserad autentisering i SSH-konfigurationsfilen för att förbättra säkerheten ytterligare.

5. Vad är en yttre brandvägg?
En yttre brandvägg är en maskin- eller programvarukomponent som skyddar nätverk från obehörig åtkomst genom att filtrera inkommande och utgående nätverkstrafik baserat på fördefinierade säkerhetsregler.

6. Hur kan jag generera en stark SSH-lösenfras?
En stark SSH-lösenfras bör vara lång, minst 25 tecken, och innehålla en kombination av stora och små bokstäver, siffror och specialtecken. Undvik att använda ord eller fraser som lätt kan gissas.

7. Var ska jag lagra mina SSH-nycklar?
Förvara dina SSH-nycklar på en säker plats, till exempel en krypterad hårdvara eller en lösenordshanterare.

8. Kan jag använda SSH-nycklar med andra protokoll än SSH?
Ja, SSH-nycklar kan användas med andra protokoll som SFTP och SCP för att säkerställa säker dataöverföring.

Länkar

* SSH-dokumentation
* Guide för SSH-konfiguration
* Yttre brandväggar