Næsten hver ny VPS starter på samme måde: du logger ind som root, installerer et par ting, og en måned senere er du stadig root. Det virker lige indtil et indsat script sletter den forkerte mappe. At sætte en almindelig bruger med sudo op tager fem minutter, og rækkefølgen betyder mere end kommandoerne — gør du det forkert, låser du dig selv ude.
Her er den sikre rækkefølge for Ubuntu 22.04/24.04 og Debian 12.
1. Opret brugeren
Som root:
adduser deploy
usermod -aG sudo deploy
adduser spørger efter en adgangskode og nogle valgfrie oplysninger (tryk bare Enter igennem dem). Vælg en rigtig adgangskode: du skal skrive den til sudo. På et minimalt Debian-image kører du først apt install -y sudo, hvis kommandoen mangler.
2. Giv den din SSH-nøgle
Det nemmeste er at kopiere roots autoriserede nøgler og bevare den rigtige ejer:
rsync --archive --chown=deploy:deploy /root/.ssh /home/deploy
Hvis du hellere vil gøre det i hånden:
mkdir -p /home/deploy/.ssh
cp /root/.ssh/authorized_keys /home/deploy/.ssh/
chown -R deploy:deploy /home/deploy/.ssh
chmod 700 /home/deploy/.ssh
chmod 600 /home/deploy/.ssh/authorized_keys
Forkerte rettigheder er den klassiske grund til, at nøglelogin fejler i stilhed. SSH ignorerer en authorized_keys, som andre brugere kan skrive til.
3. Test før du ændrer noget
Hold din root-session åben. I en ny terminal:
ssh -p 22 deploy@203.0.113.10
sudo whoami
Brug din egen IP og port — på en NAT-plan er det din personlige SSH-port fra panelet. Hvis sudo whoami udskriver root, er du godt kørende. Fejler logindet, har du stadig root-vinduet til at rette det.
4. Slå root-login fra
Luk nu døren. Opret en lille drop-in-fil i stedet for at redigere hovedkonfigurationen:
cat > /etc/ssh/sshd_config.d/10-hardening.conf <<'EOF'
PermitRootLogin no
PasswordAuthentication no
EOF
sshd -t && systemctl reload ssh
sshd -t tjekker syntaksen først. En ødelagt konfiguration plus en reload er, hvordan folk ender med at skulle bruge konsollen. PasswordAuthentication no giver kun mening, når nøglelogin virker for din nye bruger — hvilket du lige har testet.
Åbn en terminal mere og bekræft, at root bliver afvist, og at deploy stadig kommer ind. Luk så den gamle root-session.
5. Valgfrit: sudo uden adgangskode til automatisering
Har et deployscript brug for sudo uden prompt, så giv det præcis det og intet bredere:
visudo -f /etc/sudoers.d/deploy
deploy ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart myapp
Helt ærligt er NOPASSWD: ALL fristende, men så er en stjålet nøgle lig med root. Begræns det til de kommandoer, automatiseringen kører.
Hvis noget går galt
Webkonsollen i panelet afhænger hverken af SSH eller firewallen. Log ind der, ret filen i /etc/ssh/sshd_config.d/, reload, færdig. Hele genoprettelsen har vi beskrevet i sådan kommer du ind på en VPS, du er låst ude af.
Hvad nu
- Gå ordentligt over til login kun med nøgle: SSH-nøglegodkendelse.
- Dæmp støjen fra brute force-forsøg: fail2ban.
- Gå resten af det basale igennem med sikkerhedstjeklisten til en ny VPS.
Adgangsmulighederne for hver plan står i dokumentationen om adgang. Selv en Nano til $3 fortjener en bruger uden root — det er den billigste sikkerhedsopgradering, der findes.
Kommentarer
Ingen kommentarer endnu. Vær den første.