Sikre SSH-serveren
Lås ned SSH-serveren ved å redigere sshd_config: deaktiver root- og passordpålogging, endre risikable standardinnstillinger, begrens brukere og legg på flere beskyttelseslag slik at bare klarerte klienter kan koble til.
Sikre SSH-serveren er en gratis leksjon i Distribusjon av Linux-servere og SSH i praksis på CoddyKit. Dette er leksjon 4 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Distribusjon av Linux-servere og SSH i praksis, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Distribusjon av Linux-servere og SSH i praksis inneholder totalt 4 leksjoner.
Hvorfor sikre SSH?
En SSH-server som er eksponert mot internett, er et konstant mål for automatiserte angrep. Standardinnstillingene lar flere dører stå åpne, og boter undersøker dem utrettelig.
Herding betyr å stramme inn konfigurasjonen på serversiden, slik at angripere ikke kan brute force seg inn selv om de finner serveren.
Filen sshd_config
SSH-atferd på serversiden styres av /etc/ssh/sshd_config. Dette er forskjellig fra klientkonfigurasjonen De konfigurerte tidligere (~/.ssh/config).
Rediger den alltid som root, og ta en sikkerhetskopi før De gjør endringer.
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo nano /etc/ssh/sshd_configDeaktivere root-innlogging
root-kontoen er det første angripere prøver. Når direkte root-innlogging deaktiveres, må de også gjette et gyldig brukernavn.
Sett PermitRootLogin til no. Administratorer bør logge inn som en vanlig bruker og bruke sudo.
PermitRootLogin noDeaktivere passordautentisering
Når nøkkelbasert autentisering fungerer, bør De slå av passord fullstendig. Dette stopper brute force-angrep helt — det finnes ikke noe passord å gjette.
Advarsel: Bekreft at nøkkelinnloggingen fungerer før De tar dette i bruk, ellers kan De stenge Dem selv ute.
PasswordAuthentication no
ChallengeResponseAuthentication no
PubkeyAuthentication yesBegrense hvem som kan logge inn
De kan hviteliste nøyaktig hvilke kontoer som får bruke SSH, med AllowUsers eller AllowGroups. Alle som ikke står på listen, avvises selv med gyldige nøkler.
Dette er en sterk og enkel kontroll på servere med flere brukere.
AllowUsers deploy admin
# or by group:
AllowGroups sshusersEndre standardporten (valgfritt)
Å flytte SSH bort fra port 22 gir ingen reell sikkerhet, men reduserer mengden støy fra automatiserte skannere i loggene betydelig.
Velg en port som ikke er standard, og husk å åpne den i brannmuren og informere klientene om den.
Port 2222Begrense innloggingsforsøk og økter
Flere direktiver reduserer tidsvinduet angripere har:
MaxAuthTries— mislykkede forsøk før frakoblingLoginGraceTime— antall sekunder som er tillatt for autentiseringMaxSessions— samtidige økter per tilkobling
MaxAuthTries 3
LoginGraceTime 30
MaxSessions 2Ta i bruk endringer på en trygg måte
Etter redigering må De kontrollere syntaksen med sshd -t før omstart – en skrivefeil kan hindre tjenesten i å starte og stenge Dem ute.
Last deretter inn tjenesten på nytt. Behold den nåværende økten åpen, og test en ny tilkobling før De avslutter den.
sudo sshd -t
sudo systemctl restart sshBeskytt mot brute force med Fail2ban
Fail2ban overvåker autentiseringsloggene og utestenger midlertidig IP-adresser som mislykkes for mange ganger. Det legger et dynamisk brannmurlag oppå innstillingene for sshd.
Installer det og aktiver SSH-jailen; standardinnstillingene er fornuftige for de fleste servere.
sudo apt install fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshdBekreft sikkerhetsforsterkningen
Bekreft at serveren nå avviser det De deaktiverte. Prøv å koble til med detaljert output for å se hvilke autentiseringsmetoder serveren tilbyr.
En sikkerhetsforsterket server bør bare oppgi publickey og avvise passord- og root-pålogging.
ssh -v deploy@server
# Look for: 'Authentications that can continue: publickey'Beste praksis
Hold SSH-serveren sikker over tid:
- Bruk aldri
PasswordAuthentication nofør De har testet nøkkelpålogging - Behold én åpen økt mens De endrer konfigurasjonen
- Bruk
sshd -tetter hver redigering - Kombiner sikkerhetsforsterkning av sshd med en brannmur og Fail2ban
Hurtigsjekk
Test kunnskapene Deres om sikkerhetsforsterkning av SSH.
Oppsummering
De har sikkerhetsforsterket SSH-serveren gjennom /etc/ssh/sshd_config:
- Deaktiverte root- og passordpålogging
- Hvitlistet brukere med
AllowUsers - Justert
MaxAuthTriesogLoginGraceTime - Lagt til Fail2ban for dynamisk beskyttelse mot brute force
Valider med sshd -t, og test alltid før De lukker økten.
Lær deg Distribusjon av Linux-servere og SSH i praksis med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Sikre SSH-serveren» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Distribusjon av Linux-servere og SSH i praksis, inkludert «Sikre SSH-serveren», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Distribusjon av Linux-servere og SSH i praksis inneholder totalt 4 leksjoner.
Hva lærer jeg i «Sikre SSH-serveren»?
Lås ned SSH-serveren ved å redigere sshd_config: deaktiver root- og passordpålogging, endre risikable standardinnstillinger, begrens brukere og legg på flere beskyttelseslag slik at bare klarerte kli… Du øver på Distribusjon av Linux-servere og SSH i praksis med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Distribusjon av Linux-servere og SSH i praksis?
Ingen tidligere erfaring er nødvendig. Distribusjon av Linux-servere og SSH i praksis på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Sikre SSH-serveren»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Distribusjon av Linux-servere og SSH i praksis-leksjonen?
Ja. Alle Distribusjon av Linux-servere og SSH i praksis-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.