مجله ایرانیکاسرورآموزش سرور، هاست، وردپرس و شبکه
آموزشی

بازیابی پسورد Root اوبونتو در VPS؛ رفع فراموشی رمز با GRUB و Rescue Mode

بازیابی پسورد Root اوبونتو در VPS چگونه انجام می‌شود؟ اگر رمز عبور Root را در Ubuntu یا یک VPS لینوکسی فراموش کرده‌اید، معمولاً لازم نیست سیستم‌عامل را دوباره نصب کنید. بسته به نوع دسترسی،…

بازیابی پسورد Root اوبونتو در VPS؛ رفع فراموشی رمز با GRUB و Rescue Mode
خلاصه سریع این آموزش

بازیابی پسورد Root اوبونتو در VPS چگونه انجام می‌شود؟ اگر رمز عبور Root را در Ubuntu یا یک VPS لینوکسی فراموش کرده‌اید، معمولاً لازم نیست سیستم‌عامل را دوباره نصب کنید.…

۶ دقیقه مطالعه ۰ دیدگاه ۲۹ شهریور ۱۴۰۵ آخرین به‌روزرسانی

فهرست مطالب

بازیابی پسورد Root اوبونتو در VPS چگونه انجام می‌شود؟

اگر رمز عبور Root را در Ubuntu یا یک VPS لینوکسی فراموش کرده‌اید، معمولاً لازم نیست سیستم‌عامل را دوباره نصب کنید. بسته به نوع دسترسی، می‌توانید از sudo، کنسول پنل، GRUB یا Rescue Mode برای تغییر رمز استفاده کنید.

مهم‌ترین نکته این است که ابتدا بفهمیم مشکل واقعاً «فراموش شدن رمز Root» است یا SSH به علت دیگری اجازه ورود نمی‌دهد. خطاهایی مثل Permission denied ممکن است به Password، SSH Key، پورت، Firewall یا تنظیمات PermitRootLogin مربوط باشند.

مسیر سریع تصمیم‌گیری: اگر کاربر sudo دارید → sudo passwd root. اگر Console دارید → GRUB/Recovery. اگر هیچ دسترسی به OS ندارید → Rescue Mode. اگر رمز عوض شده ولی SSH هنوز وصل نمی‌شود → تنظیمات SSH و Firewall را بررسی کنید.

قبل از ریست پسورد Root این موارد را بررسی کنید

  • IP سرور درست است؟
  • پورت SSH تغییر نکرده؟
  • نام کاربری واقعاً root است؟
  • Password Authentication فعال است؟
  • Root Login در SSH مجاز است؟
  • IP شما توسط Firewall یا Fail2Ban مسدود نشده؟
  • ورود فقط با SSH Key تنظیم نشده؟
ssh root@SERVER_IP
ssh root@SERVER_IP -p PORT

روش اول: اگر هنوز sudo دارید

اگر با یک کاربر عادی وارد سرور می‌شوید و آن کاربر دسترسی sudo دارد، ساده‌ترین راه همین است:

sudo passwd root

رمز جدید را دو بار وارد کنید. اگر دستور موفق باشد معمولاً پیام زیر را می‌بینید:

passwd: password updated successfully

روش دوم: ریست پسورد Root از GRUB در Ubuntu

اگر VPS Console دارد و GRUB در دسترس است، می‌توانید بدون Rescue Mode رمز Root را بازیابی کنید. این روش برای Ubuntu بسیار رایج است.

  1. VPS را Reboot کنید و وارد GRUB شوید.
  2. روی ورودی Ubuntu کلید e را بزنید.
  3. خطی که با linux شروع می‌شود پیدا کنید.
  4. عبارت ro را به rw تغییر دهید و در انتهای همان خط اضافه کنید:
init=/bin/bash

سپس با Ctrl+X یا F10 بوت کنید. بعد:

passwd root
sync
exec /sbin/reboot -f

هشدار: روش GRUB به نوع Virtualization و تنظیمات Provider بستگی دارد. بعضی VPSها GRUB تعاملی یا Console واقعی در اختیار شما نمی‌گذارند؛ در این حالت Rescue Mode انتخاب مناسب‌تری است.

روش سوم: بازیابی پسورد Root با Rescue Mode

اگر SSH و GRUB در دسترس نیستند، Rescue Mode معمولاً مطمئن‌ترین راه است. در این حالت Provider یک سیستم موقت بالا می‌آورد و دیسک اصلی VPS را در اختیار شما قرار می‌دهد.

راهنمای کامل Rescue Mode را در مقاله Rescue Mode چیست و چگونه سرور لینوکس را نجات دهیم؟ توضیح داده‌ایم.

1. پیدا کردن پارتیشن سیستم

lsblk -f
blkid

فرض می‌کنیم Root filesystem روی /dev/vda1 است. نام Device را در سرور خودتان حتماً بررسی کنید.

2. Mount کردن سیستم اصلی

mkdir -p /mnt/vps
mount /dev/vda1 /mnt/vps

3. Bind Mountهای لازم

mount --bind /dev /mnt/vps/dev
mount --bind /proc /mnt/vps/proc
mount --bind /sys /mnt/vps/sys
mount --bind /run /mnt/vps/run

4. ورود با chroot و تغییر رمز

chroot /mnt/vps
passwd root

5. خروج و Unmount

exit
umount /mnt/vps/run
umount /mnt/vps/dev
umount /mnt/vps/proc
umount /mnt/vps/sys
umount /mnt/vps

بعد Rescue Mode را از پنل غیرفعال و VPS را Boot کنید.

اگر LVM دارید چه کار کنیم؟

در بعضی VPSها Root filesystem مستقیم روی /dev/vda1 نیست و داخل LVM قرار دارد. در این حالت:

lsblk
vgchange -ay
lvs

سپس Logical Volume مناسب را Mount کنید؛ مثلاً:

mount /dev/mapper/ubuntu--vg-ubuntu--lv /mnt/vps

اگر Ubuntu با Cloud Image نصب شده باشد

در بسیاری از Cloud Imageهای Ubuntu، Root Login با Password از ابتدا غیرفعال است و ورود با User معمولی + SSH Key انجام می‌شود. در چنین حالتی فقط تعیین یک Password برای root الزاماً باعث نمی‌شود بتوانید مستقیم با SSH وارد root شوید.

برای بررسی تنظیمات:

grep -R "PermitRootLogin\|PasswordAuthentication" \
/etc/ssh/sshd_config /etc/ssh/sshd_config.d/ 2>/dev/null

PermitRootLogin چه معنی دارد؟

  • PermitRootLogin no → ورود مستقیم root غیرفعال است.
  • PermitRootLogin prohibit-password → Root با Password وارد نمی‌شود، ولی روش‌های دیگر مثل Key ممکن است مجاز باشند.
  • PermitRootLogin yes → ورود Root مجاز است، البته سایر تنظیمات Authentication هم باید اجازه دهند.

برای امنیت Production بهتر است به‌جای فعال کردن ورود مستقیم Root با Password، از کاربر مدیریتی + sudo + SSH Key استفاده کنید.

اگر رمز عوض شد ولی SSH هنوز وصل نمی‌شود

وضعیت سرویس SSH

systemctl status ssh
systemctl status sshd

تست Syntax قبل از Restart

sshd -t

بررسی پورت Listening

ss -tulpn | grep ssh

بررسی UFW

ufw status

اگر خطای SSH شما مربوط به Authentication یا Permission است، راهنمای رفع خطای SSH Permission Denied را هم بررسی کنید.

اگر SSH Key را گم کرده‌اید

گم‌کردن Private Key با فراموش‌کردن Password متفاوت است. اگر Password Authentication غیرفعال باشد، تغییر Root Password به‌تنهایی مشکل را حل نمی‌کند.

از Console یا Rescue Mode وارد شوید و Public Key جدید را در فایل زیر اضافه کنید:

/root/.ssh/authorized_keys

و Permissionها را اصلاح کنید:

chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys

بعد از بازیابی Root چه کنیم؟

  • SSH Key جدید و سالم تنظیم کنید.
  • یک کاربر مدیریتی با sudo بسازید.
  • ورود Root با Password را فقط در صورت نیاز فعال کنید.
  • پورت و روش ورود را در Password Manager ثبت کنید.
  • قبل از تغییرات مهم Snapshot/Backup بگیرید.
  • Fail2Ban و Firewall را بررسی کنید.

VPS با دسترسی کامل Root

اگر برای Linux، Ubuntu، Docker یا سرویس‌های اختصاصی به دسترسی کامل Root نیاز دارید، پلن‌های VPS ایران و خارج ایرانیکاسرور قابل بررسی هستند.

تماس با پشتیبانی ایرانیکاسرور: 021-91302467

سؤالات متداول

چطور پسورد Root اوبونتو را بازیابی کنیم؟

اگر sudo دارید از sudo passwd root استفاده کنید. در غیر این صورت می‌توانید از GRUB، Console یا Rescue Mode برای تغییر رمز استفاده کنید.

آیا بدون SSH می‌توان رمز Root را تغییر داد؟

بله. Web Console، VNC، GRUB یا Rescue Mode برای همین شرایط استفاده می‌شوند.

چرا بعد از تغییر رمز Root هنوز SSH وصل نمی‌شود؟

ممکن است PermitRootLogin یا PasswordAuthentication غیرفعال باشد، پورت اشتباه باشد یا Firewall و Fail2Ban دسترسی را مسدود کرده باشند.

برای Ubuntu 24.04 هم این روش‌ها کار می‌کنند؟

بله، اصول sudo، GRUB، passwd و Rescue Mode مشابه است؛ اما Cloud Image یا تنظیمات Provider ممکن است Root Login را غیرفعال کرده باشند.

آیا فعال‌کردن Root Login با Password امن است؟

برای بیشتر سرورهای Production بهتر است کاربر مدیریتی با sudo و SSH Key استفاده شود و Root Password Login عمومی فعال نباشد.

منابع رسمی

مرجع PermitRootLogin، PasswordAuthentication و سایر تنظیمات OpenSSH در Ubuntu.
توضیح مدل sudo و Root در Ubuntu.

جمع‌بندی

برای بازیابی پسورد Root اوبونتو، ابتدا ساده‌ترین مسیر را انتخاب کنید: sudo، سپس Console/GRUB و در نهایت Rescue Mode. اگر Password عوض شد ولی SSH همچنان وصل نشد، تنظیمات PermitRootLogin، PasswordAuthentication، پورت و Firewall را بررسی کنید. مهم‌تر از بازیابی رمز، طراحی یک مسیر دسترسی اضطراری مثل Console، SSH Key و Rescue Mode است.

برای بازیابی دسترسی VPS نیاز به راهنمایی دارید؟

خطای SSH، نوع سیستم‌عامل و اینکه Console یا Rescue Mode دارید را مشخص کنید تا مسیر مناسب‌تر انتخاب شود.

تماس با پشتیبانی ایرانیکاسرور: 021-91302467

اشتراک‌گذاری مقاله
گفت‌وگو درباره آموزش

دیدگاه‌ها (۰)

هنوز دیدگاهی ثبت نشده است.

دیدگاه یا سؤال خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *