Sådan aktiverer du root-login på din Linux Cloud Server
Du kan låse root-kontoen op og, hvis det er nødvendigt, aktivere direkte root SSH-login på din Linux Cloud Server. Dette er nyttigt, når et program eller installationsprogram specifikt kræver root-brugeren frem for sudo. Det gælder alle one.com unmanaged Cloud Server (VPS)-produkter, der kører Linux.
Før du starter, skal du sikre dig, at du har:
- En kørende Cloud Server med en Linux-distribution installeret.
- Adgang til din server via SSH eller oneHome Web-konsollen ved hjælp af din standard sudo-bruger. Se Opret forbindelse til din Linux Cloud-server via SSH, hvis du ikke allerede har gjort dette.
- Din sudo-brugeradgangskode, for at godkende nedenstående trin.
-
Hvorfor du måske har brug for root-adgang
Som standard er en ny Cloud Server klargjort med en ikke-root-bruger (
administratorsom standard), der har fuldesudo-tilladelser, frem for en root-konto med en indstillet adgangskode eller direkte root SSH-login. Dette er bevidst: det følger almindelig Linux-hærdningspraksis og reducerer eksponeringen for automatiserede brute-force-angreb mod det velkendte "root"-brugernavn. Til det meste daglige administrationsarbejde er det tilstrækkeligt at køre kommandoer medsudo, og det er den anbefalede fremgangsmåde.Når det er sagt, kræver visse applikationer, installationsprogrammer eller scripts eksplicit den sande root-bruger, for eksempel ved kontrol af
$EUID -eq 0, frem for en sudo-hævet shell, og de nægter at køre korrekt undersudoalene. -
Hvornår du måske har brug for dette
Typiske situationer, hvor du har brug for dette:
- Installation af software med et installationsprogram, der kræver en root-shell.
- Kørsel af tredjeparts-installationsscripts, der afviser
sudoog kræver direkte root-adgang. - Arbejde med ældre applikationer eller værktøjer, der kun er designet til root.
- Gendannelse af adgang, hvis din sudo-brugerkonto bliver låst, slettet, eller hvis dens sudoers-konfiguration går i stykker. En root-adgangskode er din reservevej tilbage til serveren.
- Reparation af systemet i redningstilstand, for eksempel ved en ødelagt bootloader eller filsystemfejl, hvor arbejde inde i en chroot betyder, at sudos sædvanlige mekanismer muligvis ikke er pålideligt tilgængelige.
- Migrering af en fuld server eller synkronisering af en komplet sikkerhedskopi med
rsyncellerscpsom root, så filejerskab og tilladelser overføres præcist på tværs af hele systemet. - Kørsel af interaktive opsætningsværktøjer, såsom
dpkg-reconfigureeller visse databasekonfigurationsguider, der forventer et ægte root-loginmiljø (HOME=/root, fuld rootPATH), hvilketsudo <command>alene ikke fuldt ud replikerer. - Administration af root-ejede cron-jobs, eller tilladelse til at en overvågnings- eller backup-agent installerer sig selv som en root-ejet systemd-tjeneste.
Trin-for-trin instruktioner
-
Del 1: Indstil en root-adgangskode (påkrævet første trin)
Dette er det påkrævede første trin, og det giver dig en root-shell uden at åbne for SSH.
- Opret forbindelse til din Cloud Server via SSH eller webkonsollen ved hjælp af din standard sudo-bruger.
- Indstil en adgangskode til root-kontoen:
sudo passwd root
- Indtast og bekræft en stærk ny adgangskode, når du bliver bedt om det.
- Du kan nu til enhver tid skifte til root-brugeren fra din nuværende session:
su -
Hvis du kun har brug for en root-shell eller ønsker at køre individuelle kommandoer som root, behøver du ikke gå videre;
su -ogsudodækker allerede det uden at eksponere SSH. -
Del 2: Aktiver direkte root-login via SSH (valgfrit)
Gør kun dette, hvis noget specifikt kræver, at du logger ind som root over SSH, i stedet for at skifte til root efter tilslutning.
- Åbn SSH-serverens konfigurationsfil:
sudo nano /etc/ssh/sshd_config
- Find linjen, der starter med
PermitRootLogin. Den kan være udkommenteret med et#, eller sat tilnoellerprohibit-password. - Ændr den til:
PermitRootLogin yes
- Gem og luk filen.
- Genstart SSH-tjenesten for at anvende ændringen:
sudo systemctl restart sshd
- Du kan nu oprette forbindelse direkte som root:
ssh root@
For at bruge en SSH-nøgle i stedet for en adgangskode til root-login, skal du tilføje din offentlige nøgle til
/root/.ssh/authorized_keys.
Godt at vide
Aktivering af direkte root SSH-login øger din servers angrebsflade
"root" er et velkendt brugernavn, som automatiserede bots specifikt målretter med brute-force login-forsøg. Hvis du aktiverer det, skal du begrænse SSH-adgang til betroede IP-adresser via Firewall / IP-adgangsregler og bruge en stærk, unik adgangskode eller SSH-nøgleautentificering. Når du ikke længere har brug for direkte root SSH-login, skal du ændrePermitRootLogintilbage tilnoellerprohibit-password.
-
Vigtige bemærkninger
- Håndtering og sikring af root-adgang ligger udelukkende i dit gæste-OS og er dit ansvar. Dette falder uden for det platformstyrede lag af din ikke-administrerede Cloud Server.
- En genudrulning geninstallerer operativsystemet fra bunden, hvilket nulstiller root-kontoen til dens låste standardtilstand og
PermitRootLogintilbage til dens standardværdi.
- Håndtering og sikring af root-adgang ligger udelukkende i dit gæste-OS og er dit ansvar. Dette falder uden for det platformstyrede lag af din ikke-administrerede Cloud Server.
-
Fejlfinding
Hvis ovenstående trin ikke virker, er her et par andre ting, du kan tjekke:
-
"passwd: Authentication token manipulation error"
Tjek, at filsystemet ikke er fuldt eller monteret som skrivebeskyttet (df -h).
-
Root-login nægtes stadig efter ændring af
PermitRootLogin
Bekræft, at du har genstartet SSH-tjenesten (sudo systemctl restart sshd), og tjek for en modstridende overstyringsfil i/etc/ssh/sshd_config.d/.
-
"Permission denied (publickey)" ved forbindelse som root via SSH
Hvis din server kun accepterer nøglebaseret godkendelse, skal du tilføje din SSH-nøgle til/root/.ssh/authorized_keys, eller sikre dig, at adgangskodegodkendelse også er tilladt, hvis det er sådan, du har til hensigt at logge ind.
-
Låst ude efter redigering af
sshd_config
Brug oneHome Web-konsollen, som ikke kræver SSH, til at rette konfigurationsfilen og genstarte SSH-tjenesten.
-
"passwd: Authentication token manipulation error"
Relaterede artikler: