بازیابی پسورد 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 بسیار رایج است.
- VPS را Reboot کنید و وارد GRUB شوید.
- روی ورودی Ubuntu کلید
eرا بزنید. - خطی که با
linuxشروع میشود پیدا کنید. - عبارت
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 عمومی فعال نباشد.
منابع رسمی
جمعبندی
برای بازیابی پسورد Root اوبونتو، ابتدا سادهترین مسیر را انتخاب کنید: sudo، سپس Console/GRUB و در نهایت Rescue Mode. اگر Password عوض شد ولی SSH همچنان وصل نشد، تنظیمات PermitRootLogin، PasswordAuthentication، پورت و Firewall را بررسی کنید. مهمتر از بازیابی رمز، طراحی یک مسیر دسترسی اضطراری مثل Console، SSH Key و Rescue Mode است.
برای بازیابی دسترسی VPS نیاز به راهنمایی دارید؟
خطای SSH، نوع سیستمعامل و اینکه Console یا Rescue Mode دارید را مشخص کنید تا مسیر مناسبتر انتخاب شود.
تماس با پشتیبانی ایرانیکاسرور: 021-91302467






دیدگاهها (۰)