Inledning
SSH, eller Secure Shell, är ett krypterat nätverksprotokoll som möjliggör säker kommunikation över osäkra nätverk. Det ger dig möjlighet att ansluta till fjärrdatorer och utföra kommandon på ett säkert sätt, precis som om du arbetade lokalt.
För att öka säkerheten vid SSH-anslutningar är det starkt rekommenderat att använda SSH-nycklar istället för traditionella lösenord. SSH-nycklar utnyttjar kryptografiska metoder för att generera ett par, en offentlig och en privat nyckel. Den offentliga nyckeln delas med fjärrdatorn, medan den privata nyckeln hålls hemlig på din lokala dator. När du ansluter till en fjärrdator signeras din anslutningsförfrågan med din privata nyckel. Om signaturen sedan bekräftas med hjälp av den offentliga nyckeln, beviljas åtkomst.
Denna handledning kommer att leda dig genom stegen som krävs för att konfigurera SSH-nycklar på ett CentOS-system.
Detaljerad guide
1. Skapa ett SSH-nyckelpar
* Starta din terminal och kör följande kommando:
ssh-keygen -t ed25519 -C "[email protected]"
* Du kommer att bli ombedd att ange en plats där nycklarna ska sparas. Tryck på Enter för att använda standardplatsen, eller ange en egen mapp.
* Välj ett starkt lösenord för att skydda dina SSH-nycklar. Det här lösenordet är avgörande för att förhindra obehörig åtkomst till din privata nyckel.
2. Överför den offentliga nyckeln till fjärrdatorn
* Efter att du har genererat ditt nyckelpar, är nästa steg att kopiera den offentliga nyckeln till den fjärrdator du avser att ansluta till. Detta gör du med följande kommando:
ssh-copy-id -i ~/.ssh/id_ed25519.pub anvandarnamn@fjarrdatorns_ip_eller_doman
* Byt ut ”anvandarnamn” mot ditt användarnamn på fjärrdatorn, och ”fjarrdatorns_ip_eller_doman” mot IP-adressen eller domännamnet som fjärrdatorn har.
3. Verifiera autentiseringen
* Försök nu att ansluta till fjärrdatorn med hjälp av din SSH-nyckel:
ssh anvandarnamn@fjarrdatorns_ip_eller_doman
* Om allt har konfigurerats korrekt, bör du nu kunna ansluta till fjärrdatorn utan att behöva ange ett lösenord.
Avancerade inställningar
1. Ändra standardporten för SSH
* För att öka säkerheten kan du ändra SSH-porten från standardporten 22 till en annan. Detta kan göra det svårare för obehöriga att identifiera och försöka ansluta via SSH.
* För att ändra SSH-porten, öppna filen /etc/ssh/sshd_config
och lägg till följande rad:
Port 2222
* Ersätt ”2222” med det portnummer du föredrar.
2. Inaktivera direkt inloggning som root
* Av säkerhetsskäl är det rekommenderat att förhindra direkt inloggning som root via SSH. Istället bör användare logga in med ett vanligt konto och använda sudo
för att utföra administrativa uppgifter.
* För att inaktivera root-inloggning, öppna filen /etc/ssh/sshd_config
och lägg till följande rad:
PermitRootLogin no
3. Endast nyckelbaserad autentisering
* För maximal säkerhet, överväg att endast tillåta nyckelbaserad autentisering och inaktivera lösenordsbaserad autentisering helt.
* Du gör detta genom att lägga till följande rader i filen /etc/ssh/sshd_config
:
PasswordAuthentication no
ChallengeResponseAuthentication no
4. Använd en extern brandvägg
* En extern brandvägg kan ge ett extra lager av säkerhet genom att begränsa åtkomsten till SSH-porten enbart till betrodda IP-adresser.
Sammanfattning
Genom att konfigurera SSH-nycklar på CentOS har du avsevärt förbättrat säkerheten för dina SSH-anslutningar. Genom att använda kryptografi och undvika traditionell lösenordsbaserad autentisering, skyddar du dina system från oönskad åtkomst och ser till att din data förblir säker.
Kom ihåg att skydda dina SSH-nycklar genom att använda ett starkt lösenord och förvara dem på ett säkert ställe. Genom att följa de steg och tips som presenteras i denna handledning kan du försäkra dig om att dina SSH-anslutningar är så säkra som möjligt.
Frågor och svar
1. Vilka är fördelarna med att använda SSH-nycklar?
SSH-nycklar ökar säkerheten genom kryptering och eliminerar behovet av lösenord, vilket minskar risken för obehörig åtkomst.
2. Kan jag använda samma SSH-nyckelpar på flera fjärrdatorer?
Absolut, du kan använda samma SSH-nyckelpar för att ansluta till flera fjärrdatorer. Du behöver bara kopiera din offentliga nyckel till varje dator.
3. Vad händer om jag förlorar min privata SSH-nyckel?
Om du förlorar 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 lösenordsbaserad SSH-autentisering helt?
Ja, du kan inaktivera lösenordsbaserad autentisering i SSH-konfigurationsfilen för att ytterligare förbättra säkerheten.
5. Vad är en extern brandvägg?
En extern 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örutbestämda säkerhetsregler.
6. Hur skapar jag ett starkt SSH-lösenord?
Ett starkt SSH-lösenord bör vara långt, minst 25 tecken, och innehålla en blandning av stora och små bokstäver, siffror och specialtecken. Undvik att använda ord eller fraser som är lätta att gissa.
7. Var bör jag förvara mina SSH-nycklar?
Förvara dina SSH-nycklar på en säker plats, till exempel en krypterad enhet eller lösenordshanterare.
8. Kan SSH-nycklar användas 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.
Relevanta länkar
* SSH dokumentation
* Guide för SSH-konfiguration
* Om externa brandväggar