Grįžti atgal Grįžti atgal

Kaip įjungti root prisijungimą Linux serveryje

Numatytai daugelyje Linux serverių tiesioginis root prisijungimas per SSH ir SFTP išjungtas. Šioje pamokoje sužinosite, kaip jį įjungti, kai to reikia, ir kaip vėl išjungti.

Ko reikės prieš pradedant

Įvertinkite riziką

Root vartotojas turi neribotas teises, o jo vardą žino visi botai, kurie nuolat bando atspėti slaptažodžius. Root prisijungimą įjunkite tik tada, kai tikrai reikia, naudokite stiprų slaptažodį ir baigę darbą vėl jį išjunkite.

Root prisijungimo nustatymas

  1. Prisijunkite prie serverio

    Prisijunkite prie serverio per SSH su savo įprastu vartotoju.

  2. Nustatykite root slaptažodį

    Ubuntu sistemoje root slaptažodis numatytai nenustatytas, todėl prisijungti nepavyktų. Nustatykite jį komanda:

    sudo passwd root

    Du kartus įveskite naują slaptažodį. Rašant simboliai nerodomi, tai normalu. Jei root slaptažodį jau turite, šį žingsnį praleiskite.

  3. Atidarykite SSH konfigūracijos failą

    Atidarykite failą redaktoriuje:

    sudo nano /etc/ssh/sshd_config

    Paspauskite Ctrl + W ir suraskite PermitRootLogin. Eilutė dažniausiai atrodo taip:

    #PermitRootLogin prohibit-password
  4. Pakeiskite PermitRootLogin nustatymą

    Ištrinkite # eilutės pradžioje ir pakeiskite reikšmę:

    PermitRootLogin yes
    Kaip išsaugoti

    Ctrl + O ir Enter išsaugo failą, Ctrl + X išeina iš redaktoriaus.

    Kai kuriuose serveriuose, pvz. Ubuntu, nustatymai gali būti perrašyti failuose aplanke /etc/ssh/sshd_config.d/. Patikrinkite, ar ten nėra kitos PermitRootLogin reikšmės:

    sudo grep -ri permitrootlogin /etc/ssh/sshd_config.d/
  5. Patikrinkite konfigūraciją ir perkraukite SSH

    Pirmiausia patikrinkite, ar faile nėra klaidų. Jei komanda nieko neparodo, viskas gerai:

    sudo sshd -t

    Tada perkraukite SSH tarnybą. Komanda priklauso nuo sistemos:

    sudo systemctl restart ssh
    Neuždarykite dabartinio lango

    Kol neįsitikinsite, kad naujas prisijungimas veikia, palikite dabartinę SSH sesiją atidarytą. Jei kas nors nepavyks, per ją galėsite atšaukti pakeitimus.

Ar pavyko?

Patikrinkite, kokią PermitRootLogin reikšmę SSH naudoja iš tikrųjų:

sudo sshd -T | grep permitrootlogin

Tada naujame lange pabandykite prisijungti kaip root, vietoje serverio_ip įrašę savo serverio IP:

ssh root@serverio_ip

Dažni klausimai

Prisijungiant kaip root rodoma „Access denied“

Patikrinkite, ar nustatėte root slaptažodį (2 žingsnis) ir ar /etc/ssh/sshd_config.d/ failuose nėra PermitRootLogin arba PasswordAuthentication no eilučių, kurios perrašo jūsų nustatymą.

Klaida „Unit sshd.service not found“

Ubuntu ir Debian sistemose SSH tarnyba vadinasi ssh. Naudokite komandą sudo systemctl restart ssh.

Ar yra saugesnis būdas?

Taip. Nustatykite PermitRootLogin prohibit-password ir prisijunkite su SSH raktu vietoje slaptažodžio. Dar geriau dirbti su atskiru vartotoju ir naudoti sudo.

Ar šis nustatymas galioja ir SFTP?

Taip. SFTP naudoja tą pačią SSH tarnybą, todėl root prisijungimas per WinSCP ar FileZilla veiks arba neveiks pagal tą patį nustatymą.

Kas toliau

Jei kyla sunkumų, parašykite mums į gyvąją pagalbą arba el. paštu.

Panašūs straipsniai

VPS Pamokos