Kapittel 3 · 3.2
Slå av innlogging med passord og som root
Alle servere på internett får raskt besøk av programmer som gjetter passord. Hvis du bare kan logge inn med en nøkkel, har de ingen sjanse. Det slår du på nå.
Merk: Fungerer innlogging med nøkkelen din som anna (se En egen bruker med sudo)? Ta da først et snapshot (se Snapshots: et sikkerhetsnett før hver store endring) og hold en økt åpen mens du gjør disse stegene. Går noe likevel galt, kommer du inn via konsollen (se Konsollen: VPS-en din i nettleseren).
En egen innstillingsfil
På Debian og Ubuntu leser SSH-serveren først filene i /etc/ssh/sshd_config.d/, i alfabetisk rekkefølge. For hver innstilling gjelder den første verdien den finner. Derfor gir du din egen fil et navn som kommer først:
anna@web1:~$ sudo nano /etc/ssh/sshd_config.d/00-eigen.conf
Legg inn dette:
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no
PasswordAuthentication no: ingen passord via SSH lenger.KbdInteractiveAuthentication no: heller ingen passordforespørsel via en omvei.PermitRootLogin no: root kan ikke lenger logge inn via SSH, heller ikke med nøkkel. Du jobber som anna med sudo. Vil du fortsatt tillate root med nøkkel, bruker duprohibit-password.
Kontroller og ta i bruk
anna@web1:~$ sudo sshd -t
anna@web1:~$ sudo sshd -T | grep -Ei '^(passwordauthentication|kbdinteractiveauthentication|permitrootlogin)'
passwordauthentication no
kbdinteractiveauthentication no
permitrootlogin no
anna@web1:~$ sudo systemctl restart ssh
sshd -t sier ingenting hvis filen er riktig. sshd -T viser hvilke verdier som faktisk gjelder. Står det fortsatt passwordauthentication yes? Da slår en annen fil i sshd_config.d det på igjen, ofte 50-cloud-init.conf. Din 00-eigen.conf kommer før og vinner, så sjekk at navnet er riktig.
På AlmaLinux og Rocky Linux heter tjenesten sshd: sudo systemctl restart sshd.
Test før du lukker økten
Åpne et nytt vindu og prøv:
ssh anna@203.0.113.10
ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no anna@203.0.113.10
anna@203.0.113.10: Permission denied (publickey).
ssh root@203.0.113.10
root@203.0.113.10: Permission denied (publickey).
Den første skal fungere. De to andre skal avvises. Stemmer alt? Slett da snapshotet.
Tips: Et annet portnummer enn 22 gir en roligere logg, men gjør ikke serveren din sikrere. Det er nøkkelen som gjør jobben. Endrer du likevel porten, åpner du den først i brannmuren (se En brannmur med ufw (eller nftables)).
