Slik aktiverer du root-innlogging på VPS
På en ny VPS er root-kontoen som standard ikke satt opp med passord, og direkte root-innlogging via SSH er deaktivert. Dersom en applikasjon eller installasjon krever root-brukeren fremfor sudo, kan du aktivere root-kontoen og ved behov tillate direkte root-innlogging via SSH.
Innhold i denne guiden:
- Før du begynner
- Hvorfor kan du ha behov for root?
- Typiske bruksområder
- Slik setter du et root-passord
- Slik aktiverer du direkte root-innlogging via SSH
- Viktig å vite
- Feilsøking og vanlige problemer
- Vanlige spørsmål
Før du begynner
Denne guiden gjelder VPS-er som kjører Linux.
Du trenger:
- en aktiv VPS med en Linux-distribusjon installert
- tilgang til VPS-en via SSH eller webkonsollen i oneHome med standardbrukeren din
- passordet til standardbrukeren med
sudo-tilgang
En ny VPS opprettes som standard med en vanlig bruker, normalt administrator, som har full sudo-tilgang.
For vanlig administrasjon er sudo tilstrekkelig og anbefalt. Du trenger derfor ikke å aktivere root-innlogging med mindre en applikasjon, installasjon eller annen oppgave spesifikt krever det.
Hvorfor kan du ha behov for root?
Enkelte applikasjoner, installasjonsprogrammer eller skript krever den faktiske root-brukeren i stedet for en kommando eller shell som er startet med sudo.
Dette gjelder blant annet løsninger som kontrollerer om brukeren faktisk kjører som root, for eksempel med:
$EUID -eq 0I slike tilfeller kan løsningen nekte å kjøre selv om brukeren ellers har full sudo-tilgang.
Typiske bruksområder
Root-tilgang kan blant annet være aktuelt dersom du:
- installerer programvare med et installasjonsprogram som krever en root-shell
- kjører tredjepartsskript som krever root og ikke godtar
sudo - bruker eldre applikasjoner eller verktøy som er utviklet for root-brukeren
- trenger en alternativ tilgang dersom standardbrukeren blir låst, slettet eller mister
sudo-tilgang - reparerer systemet i rescue mode, for eksempel ved problemer med bootloader eller filsystem, der vanlige
sudo-mekanismer ikke nødvendigvis er tilgjengelige i et chroot-miljø - migrerer en hel server eller synkroniserer en fullstendig sikkerhetskopi med
rsyncellerscpsom root, slik at eierskap og filrettigheter bevares - bruker interaktive konfigurasjonsverktøy, som
dpkg-reconfigureeller enkelte databaseverktøy, som forventer et fullstendig root-miljø med blant annetHOME=/rootog root-brukerensPATH - administrerer cron-jobber som eies av root, eller installerer overvåkings- eller backup-agenter som root-eide systemd-tjenester
Slik setter du et root-passord
Dette må gjøres før du eventuelt aktiverer direkte root-innlogging via SSH.
- Koble til VPS-en via SSH eller webkonsollen i oneHome med standardbrukeren din.
-
Angi et passord for root-brukeren:
sudo passwd root - Skriv inn og bekreft et sterkt, nytt passord når du blir bedt om det.
-
Du kan nå bytte til root-brukeren fra den eksisterende økten med:
su -
Du trenger ikke å aktivere direkte root-innlogging via SSH dersom du kun har behov for å bruke root fra en eksisterende økt.
Slik aktiverer du direkte root-innlogging via SSH
Dette steget er valgfritt og er kun nødvendig dersom du vil kunne koble direkte til VPS-en som root.
-
Åpne konfigurasjonsfilen for SSH:
sudo nano /etc/ssh/sshd_config -
Finn linjen som starter med
PermitRootLogin.Linjen kan være kommentert ut med
#, eller være satt til for eksempelnoellerprohibit-password. -
Endre den til:
PermitRootLogin yes - Lagre og lukk filen.
-
Start SSH-tjenesten på nytt for å aktivere endringen:
sudo systemctl restart ssh -
Du kan nå koble direkte til VPS-en som root:
ssh root@<ip-adressen-til-vps-en>
Viktig å vite
- Direkte root-innlogging via SSH øker angrepsflaten til VPS-en.
rooter et kjent brukernavn som ofte blir forsøkt brukt i automatiserte brute-force-angrep. - Hvis du aktiverer direkte root-innlogging, anbefaler vi å begrense SSH-tilgang til betrodde IP-adresser med brannmur eller IP Access Rules, og bruke et sterkt, unikt passord eller SSH-nøkkel.
- Når du ikke lenger trenger direkte root-innlogging, bør du endre
PermitRootLogintilbake tilnoellerprohibit-password. - Administrasjon og sikring av root-tilgang skjer i operativsystemet på VPS-en og er ditt ansvar på en unmanaged VPS.
- Redeploy installerer operativsystemet på nytt. Root-kontoen tilbakestilles da til standardtilstanden, og
PermitRootLoginfår tilbake standardverdien.
Feilsøking og vanlige problemer
-
Jeg får «passwd: Authentication token manipulation error»
Kontroller at filsystemet ikke er fullt eller montert som skrivebeskyttet.
Du kan kontrollere tilgjengelig diskplass med:
df -h -
Root-innlogging fungerer fortsatt ikke etter at jeg endret
PermitRootLoginKontroller at du har startet SSH-tjenesten på nytt:
sudo systemctl restart sshKontroller også om det finnes en konfigurasjon i:
/etc/ssh/sshd_config.d/som overstyrer innstillingen i
sshd_config. -
Jeg får «Permission denied (publickey)» når jeg kobler til som root
Hvis VPS-en kun tillater innlogging med SSH-nøkkel, legger du den offentlige SSH-nøkkelen til i:
/root/.ssh/authorized_keysHvis du ønsker å bruke passord i stedet, må du kontrollere at passordautentisering også er tillatt i SSH-konfigurasjonen.
-
Jeg mistet SSH-tilgangen etter at jeg endret
sshd_configBruk webkonsollen i oneHome for å koble til VPS-en uten SSH.
Derfra kan du rette konfigurasjonsfilen og starte SSH-tjenesten på nytt.
Vanlige spørsmål
-
Hvorfor er ikke root-brukeren aktivert som standard?
Av sikkerhetshensyn opprettes nye VPS-er med en vanlig bruker med
sudo-tilgang i stedet for en root-konto med aktivt passord og direkte root-innlogging.Dette reduserer blant annet eksponeringen mot automatiserte brute-force-angrep mot det kjente brukernavnet
root. -
Er det trygt å aktivere direkte root-innlogging via SSH?
Det anbefales ikke som en permanent innstilling, fordi det øker eksponeringen mot brute-force-angrep.
Hvis du trenger direkte root-innlogging midlertidig, for eksempel til et installasjonsprogram, bør du vurdere å deaktivere den igjen etterpå og begrense SSH-tilgangen med brannmur eller IP Access Rules mens den er aktiv.
-
Må jeg aktivere root-innlogging via SSH for å bruke root-brukeren?
Nei.
Etter at du har satt et root-passord, kan du få en root-shell med:
su -Du kan også kjøre enkeltkommandoer med
sudouten å aktivere direkte root-innlogging via SSH. -
Hva skjer med root-passordet og SSH-innstillingene etter Redeploy?
Redeploy installerer operativsystemet fra bunnen av. Root-kontoen tilbakestilles da til standardtilstanden, og
PermitRootLoginfår tilbake standardverdien. -
Kan jeg bruke SSH-nøkkel for root-innlogging i stedet for passord?
Ja. Legg den offentlige SSH-nøkkelen til i:
/root/.ssh/authorized_keys