Ubuntu’da root’ga SSH orqali taşqaridan kirişni qanday oçiş va root parolini qanday özgartiriş

VPS va serverlar Çop etilgan: · 6 daqiqa öqiş

Ubuntu’da root’ga parol bilan kiriş odatda yopiq. Ba’zan u baribir kerak böladi — eski panel, skript yoki pudratçi uçun. Kirişni qanday töğri oçiş, parolni qanday özgartiriş va parol terib topişga oson nişon bölib qolmaslik haqida.

Nega root’ga SSH orqali kiriş yopiq

Ubuntu’da birdaniga ikkita himoya bor. Birinçidan, root’da köpinça parol yöq — hisob bloklangan, boşqaruv esa sudo orqali taklif qilinadi. Ikkinçidan, OpenSSH odatda PermitRootLogin prohibit-password bilan işlaydi: root faqat SSH-kalit bilan kira oladi, parol bilan — yöq. Bulutli obrazlarda qöşimça ravişda /etc/ssh/sshd_config.d/50-cloud-init.conf fayli bor, u köpinça hamma uçun parol bilan kirişni öçirib qöyadi.

Şuning uçun tartib quyidagiça: avval root parolini belgilaş, keyin SSH sozlamalarida kirişga ruxsat beriş, söng ruxsat haqiqatan qöllanganini tekşiriş.

1-qadam. Root parolini belgilang yoki özgartiring

Serverga sudo huquqli foydalanuvçi bilan (yoki şaxsiy kabinetdagi konsol orqali) kiring va bajaring:

sudo passwd root

Yangi parolni ikki marta kiriting — belgilar ekranda körinmaydi, bu normal holat. Agar allaqaçon root bölib işlayotgan bölsangiz, passwd buyruği kifoya. Boşqa foydalanuvçining paroli ham xuddi şunday özgartiriladi: sudo passwd ISM.

Hisob holatini tekşiring:

sudo passwd -S root

Ikkinçi maydonda P harfi — parol belgilangan va işlaydi, L — hisob bloklangan, NP — parol yöq.

Qanday parol qöyiş kerak. Internetga oçilgan root’ni server işga tuşgandan keyingi dastlabki soatlardayoq terib topişga urinişadi. Uzun tasodifiy parol kerak — kamida 16 belgi, luğatdagi söz emas va boşqa xizmatdagi parol emas. Uni bevosita serverda yaratiş mumkin:

openssl rand -base64 18

2-qadam. Root’ga SSH orqali kirişga ruxsat bering

Asosiy sshd_config faylini tahrirlamang — sozlamalar uçun alohida fayl yarating. Ubuntu 22.04 va 24.04 da /etc/ssh/sshd_config.d/ papkasidagi fayllar alifbo tartibida öqiladi va birinçi topilgan qiymat amal qiladi. Şuning uçun fayl nomini 01 bilan boşlaymiz — şunda u 50-cloud-init.conf dan oldin öqiladi:

sudo nano /etc/ssh/sshd_config.d/01-root-login.conf

Ikki qatorni qöying va faylni saqlang (Ctrl+O, Enter, Ctrl+X):

PermitRootLogin yes
PasswordAuthentication yes

Agar root faqat kalit bilan kirsa, SSH’da parolni oçiş şart emas: PermitRootLogin prohibit-password ni qoldiring va kalitni /root/.ssh/authorized_keys ga qöying — buni qanday qiliş SSH-kalitlar haqidagi maqolada yozilgan.

3-qadam. Sozlamalarni tekşiring va qöllang

Avval konfiguratsiyada xato yöqligini tekşiring va sshd aslida qaysi qiymatlardan foydalanişini köring:

sudo sshd -t
sudo sshd -T | grep -Ei "permitrootlogin|passwordauthentication"

permitrootlogin yes va passwordauthentication yes bölişi kerak. Boşqaça körsatsa — demak, sizning faylingizdan oldin teskari qiymatli boşqa fayl öqilyapti: uni sudo grep -ri "PermitRootLogin\|PasswordAuthentication" /etc/ssh/ buyruği bilan toping.

SSH’ni qayta işga tuşiring:

sudo systemctl restart ssh

UFW brandmaueri yoqilgan bölsa, unda SSH’ga ruxsat berilganiga işonç hosil qiling: sudo ufw status, kerak bölsa — sudo ufw allow OpenSSH.

4-qadam. Kirişni tekşiring

Joriy oynani yopmang. Yangi oyna oçing va ulaning:

ssh root@SIZNING_IP

Windows’da xuddi şu buyruq PowerShell’da işlaydi, PuTTY’da esa IP, 22-port va root loginini körsating. Kiriş amalga oşmasa, birinçi oynada sababni jurnaldan köring: sudo journalctl -u ssh -n 30.

Kiriş oçilgandan keyin root’ni qanday himoya qiliş

  • Kalitga ötib oling. Root kirişi faqat sizga kerak bölib qolişi bilanoq SSH-kalit bilan kirişni sozlang va 01-root-login.conf faylidagi qatorlarni PermitRootLogin prohibit-password va PasswordAuthentication no ga almaştiring.
  • Kirişni IP böyiça çeklang. Doimiy manzildan ulansangiz, SSH’ga faqat undan ruxsat bering: sudo ufw allow from 203.0.113.10 to any port 22 proto tcp, umumiy qoidani esa öçiring: sudo ufw delete allow OpenSSH. Buni allaqaçon ulangan oynadan va faqat öz IP’ingizga amin bölganingizda qiling.
  • fail2ban örnating. sudo apt install fail2ban — Ubuntu’da u darhol SSH’ni himoya qiladi va bir neça muvaffaqiyatsiz urinişdan keyin manzillarni bloklaydi.
  • Kiriş endi kerak bölmasa, root’ni yoping. Faylni öçiring va SSH’ni qayta işga tuşiring: sudo rm /etc/ssh/sshd_config.d/01-root-login.conf && sudo systemctl restart ssh. Root parolining özini sudo passwd -l root buyruği bilan bloklaş mumkin.

Root parolini unutgan bölsangiz

Sudo huquqli boşqa foydalanuvçi bölsa — u bilan kiring va sudo passwd root ni bajaring. Heç kim bilan kirib bölmasa, MyCloud VPS’ida mcvps.uz şaxsiy kabinetidagi server konsolini oçing va serverni qayta yuklang. GRUB menyusida (yuklaniş paytida Shift’ni bosib turing yoki Esc’ni bosing) «Advanced options» → «recovery mode» → «root» ni tanlang. Keyin bajaring:

mount -o remount,rw /
passwd root
reboot

Ubuntu’li serverni VPS serverlar sahifasida yaratiş mumkin — SSH sozlamalarida biror narsa notöğri ketsa ham, şaxsiy kabinetdagi konsol zaxira kiriş bölib qoladi.

Maqoladagi vazifada yordam kerakmi?

Konfiguratsiyani tanlaymiz, narxini hisoblaymiz va köçişda yordam beramiz.

Nimani tanlaşni bilmayapsizmi? Maslahat beramiz va konfiguratsiya tanlaymiz

Nima kerakligini yozing — 1C uçun server, topşiriş punkti uçun kameralar yoki boşqa hostingdan köçiş. Yeçim tanlaymiz, aniq narxni aytamiz va köçişda yordam beramiz: maslahat beramiz va qadamlarni tuşuntiramiz.