آموزش حذف اکانت هاست از طریق SSH؛ گام‌به‌گام با ترمینال واقعی

✅ این محتوا توسط تیم فنی نگارنوین بازبینی انسانی شده است (2026-10-20)

https://negarnovin.com/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%ad%d8%b0%d9%81-%d8%a7%da%a9%d8%a7%d9%86%d8%aa-%d9%87%d8%a7%d8%b3%d8%aa-%d8%a7%d8%b2-%d8%b7%d8%b1%db%8c%d9%82-ssh/ · آخرین به‌روزرسانی: · نویسنده: نگارنوین · سایت: نگارنوین · 13 دقیقه مطالعه

⚡ پاسخ مستقیم (قابل نقل)

برای حذف اکانت هاست از طریق SSH ابتدا با دستور ssh root@آی‌پی به سرور متصل شوید و با ls -la /home اکانت‌ها را شناسایی کنید. سپس با tar -czf یک بکاپ کامل از اکانت بگیرید، با userdel کاربر لینوکس را حذف و فایل‌هایش را با rm -rf پاک کنید. در سرورهای cPanel معادل رسمی همین کار، اجرای /scripts/killacct است. در پایان حذف را با id نام‌اکانت تأیید کنید.

📊 ۳ گام حذف امن اکانت هاست (بکاپ tar → userdel → تأیید id) — اجرای واقعی روی Ubuntu 24.04.3 با ۵ اسکرین‌شات واقعی ترمینال

📊 حقایق کلیدی

URLhttps://negarnovin.com/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%ad%d8%b0%d9%81-%d8%a7%da%a9%d8%a7%d9%86%d8%aa-%d9%87%d8%a7%d8%b3%d8%aa-%d8%a7%d8%b2-%d8%b7%d8%b1%db%8c%d9%82-ssh/
تاریخ انتشار2020-12-06
آخرین به‌روزرسانی2026-10-20
نویسندهنگارنوین
ناشرنگارنوین
زبانفارسی (fa-IR)
تعداد کلمات2540
نوع صفحهنوشته
عدد کلیدی۳ گام حذف امن اکانت هاست (بکاپ tar → userdel → تأیید id) — اجرای واقعی روی Ubuntu 24.04.3 با ۵ اسکرین‌شات واقعی ترمینال

🛒 محصول و قیمت

نام محصولآموزش حذف اکانت هاست از طریق SSH
قیمت8292 IRR
موجودیInStock
برندنگارنوین
دسته‌بندیserver
SKUVPS-8291

📄 محتوای کامل

حذف یک اکانت هاست، همان‌قدری که ساده به نظر می‌رسد، می‌تواند یکی از پرریسک‌ترین کارهای مدیریتی روی سرور باشد؛ یک اشتباه تایپی در rm -rf و بدون بکاپ، یعنی از دست رفتن دائمی فایل‌های یک سایت واقعی. در این آموزش حذف اکانت هاست از طریق SSH را گام‌به‌گام و با اسکرین‌شات واقعی از یک سرور Ubuntu ۲۴.۰۴ انجام می‌دهیم: از اتصال به سرور و شناسایی اکانت‌ها تا بکاپ‌گیری با tar، حذف اکانت با userdel و تأیید نهایی. اگر با SSH آشنایی کامل ندارید، پیشنهاد می‌کنیم اول آموزش کار با SSH در لینوکس را بخوانید و بعد برگردید.

🎯 در این آموزش یاد می‌گیرید:

  • چطور با SSH به سرور متصل شوید و اکانت‌های هاست را شناسایی کنید
  • قبل از حذف، یک بکاپ کامل و قابل بازیابی از اکانت بگیرید (دستور tar)
  • اکانت را با userdel حذف و حذف‌شدنش را تأیید کنید
  • روی سرورهای cPanel با killacct و روی DirectAdmin چه کار کنید
  • چه اشتباهاتی هنگام حذف اکانت، سایت‌های همسایه را نابود می‌کند

⚡ پاسخ کوتاه — حذف اکانت هاست با SSH: با دستور ssh root@IP-سرور وارد سرور شوید، با ls -la /home اکانت‌ها را ببینید، با tar -czf /root/backup-$(date +%y%m%d).tar.gz -C /home نام‌اکانت بکاپ بگیرید و سپس با userdel -r نام‌اکانت اکانت را حذف کنید. روی سرور cPanel معادل این کار، اجرای /scripts/killacct است. تأیید نهایی هم با id نام‌اکانت انجام می‌شود.

چرا حذف اکانت هاست از SSH، وقتی پنل هم داریم؟

حذف اکانت هاست از طریق SSH — از اتصال تا تأیید نهایی (ترمینال واقعی Ubuntu ۲۴.۰۴)

سؤال بجایی است؛ WHM، DirectAdmin و پنل‌های مشابه دکمهٔ «Terminate Account» دارند. اما در عمل چهار موقعیت هست که حذف از SSH تنها راه منطقی است:

  • پنل کار نمی‌کند: اگر لایسنس cPanel منقضی شده، سرویس WHM Down است یا پنل به خاطر یک خطای دیتابیسی بالا نمی‌آید، ترمینال همچنان در دسترس شماست.
  • حذف انبوه یا خودکار: وقتی می‌خواهید ۴۰ اکانت امانی سرور را یک‌شبه پاک کنید، نوشتن یک حلقهٔ ساده در بش سریع‌تر و قابل‌مستندسازی‌تر از ۴۰ بار کلیک در پنل است.
  • اکانت نصفه‌ساخته: گاهی اکانتی در پنل ثبت نشده ولی فایل‌ها و کاربر لینوکسش روی سرور مانده‌اند؛ پنل چنین اکانتی را «نمی‌بیند» و فقط از SSH می‌شود پاکش کرد.
  • سرورهای بدون پنل: روی سرور اختصاصی و سرور مجازی بدون کنترل‌پنل، مدیریت مستقیم کاربرها از ترمینال روش استاندارد است.

نکتهٔ مهم این آموزش آن است که تمام مراحل را واقعاً روی یک سرور Ubuntu ۲۴.۰۴ اجرا کرده‌ایم؛ تصویرهایی که می‌بینید عکس‌های واقعی ترمینال‌اند، نه شبیه‌سازی. برای همین در خروجی هر دستور، دقیقاً همان چیزی را می‌بینید که خودتان قرار است ببینید.

پیش‌نیازها؛ قبل از دست زدن به سرور

هیچ‌کدام از این مراحل بدون این سه شرط معنا ندارد:

پیش‌نیاز توضیح راهنما
دسترسی root حذف کاربر روی لینوکس فقط با دسترسی مدیران سیستم ممکن است. تغییر پسورد root در لینوکس
کلاینت SSH در ویندوز PowerShell و در مک/لینوکس ترمینال، از پیش SSH دارند. آموزش SSH در لینوکس
فضای دیسک برای بکاپ حداقل به‌اندازهٔ حجم اکانت، فضای آزاد روی سرور یا مکان خارجی. با df -h فضای آزاد را چک کنید

و یک قانون طلایی که در کل این آموزش بالای سرتان باشد: هیچ اکانتی را بدون بکاپ حذف نکنید — حتی اگر مشتری صد بار گفت «دیگه نیازی نیست». تجربه نشان داده چند هفته بعد، همان مشتری برای «برگرداندن سایتش» زنگ می‌زند.

گام ۱ — اتصال به سرور با SSH

ترمینال خودتان را باز کنید (در ویندوز ۱۰/۱۱ و ۱۱ PowerShell کافی است) و به‌جای IP-سرور، آدرس یا IP سرور خودتان را بگذارید:

ssh [email protected]

دفعهٔ اول که به یک سرور وصل می‌شوید، SSH از شما دربارهٔ اثر انگشت کلید (Host Key Fingerprint) سؤال می‌کند. این پیام کاملاً طبیعی است؛ SSH می‌خواهد مطمئن شود سروری که الان به آن وصل می‌شوید، همان سروری است که فکر می‌کنید:

اولین اتصال به سرور: تأیید اثر انگشت (yes)، وارد کردن پسورد و پیام خوش‌آمد Ubuntu — اسکرین‌شات واقعی

همان‌طور که در تصویر می‌بینید، بعد از تأیید yes و وارد کردن پسورد (که موقع تایپ نمایش داده نمی‌شود)، بنر خوش‌آمد Ubuntu ظاهر می‌شود. عبارت root@web-server:~# یعنی شما الان مدیر کامل سرور هستید — از این لحظه، هر دستوری مستقیماً اجرا می‌شود؛ بدون سؤال تأیید و بدون سطل بازیافت.

گام ۲ — شناسایی اکانت‌های هاست روی سرور

روی سرورهای هاستینگ، هر اکانت معمولاً یک کاربر لینوکس با یک پوشهٔ خانگی در /home است. بگذارید اول ببینیم روی چه سروری کار می‌کنیم و چه اکانتی داریم:

hostname
cat /etc/os-release | head -2
ls -la /home/
شناسایی سرور و اکانت‌ها: سرور Ubuntu ۲۴.۰۴.۳ LTS است و در /home یک اکانت به نام demo-site وجود دارد

خروجی ls -la /home/ در تصویر، اکانت demo-site را نشان می‌دهد — همین اکانت را در ادامه بکاپ می‌گیریم و حذف می‌کنیم. اگر چند اکانت دارید، نام دقیق را از همین لیست بردارید و در دفترچه‌تان یادداشت کنید؛ اکثر فاجعه‌ها از اشتباه در همین نام شروع می‌شود.

گام ۳ — بررسی محتوای اکانت قبل از حذف

قبل از هر چیز مطمئن شوید همان چیزی است که فکر می‌کنید. یک نگاه به ساختار فایل‌ها و حجم اکانت بیندازید:

ls -la /home/demo-site/public_html/
du -sh /home/demo-site
داخل اکانت demo-site: فایل‌های یک سایت وردپرسی (index.html، wp-config.php، wp-content) و حجم کل ۲۹۶ کیلوبایت

دستور du -sh حجم اکانت را نشان می‌دهد؛ این عدد را یادداشت کنید چون موقع بکاپ‌گیری همان‌قدر فضا لازم دارید. اگر فایل‌هایی دیدید که نباید آنجا باشند (مثلاً بکاپ‌های قدیمی چند گیگابایتی)، بهتر است قبل از بکاپ، آن‌ها را جدا کنید تا بکاپ سبک‌تر بماند.

گام ۴ — بکاپ‌گیری از اکانت با tar (قانون طلایی)

حالا بکاپ کامل اکانت را در پوشهٔ /root سرور می‌گیریم. الگوی نام‌گذاری با تاریخ روز، بعداً پیدا کردن بکاپ درست را آسان می‌کند:

tar -czf /root/backup-demo-site-$(date +%y%m%d).tar.gz -C /home demo-site
ls -lh /root/backup-demo-site-*.tar.gz
tar -tzf /root/backup-demo-site-*.tar.gz | head -5
بکاپ کامل اکانت (۲۴۵ کیلوبایت) و تست سلامت فایل بکاپ با tar -tzf — اسکرین‌شات واقعی

توضیح سوئیچ‌ها: -c یعنی ساخت آرشیو، -z فشرده‌سازی با gzip، -f مسیر خروجی و -C /home باعث می‌شود مسیرها داخل آرشیو نسبت به پوشهٔ home ذخیره شوند (یعنی موقع استخراج، پوشهٔ demo-site کامل بازسازی می‌شود). دستور سوم — tar -tzf — فقط لیست محتوای آرشیو را نشان می‌دهد؛ این «تست سلامت» ساده، مطمئن‌تان می‌کند بکاپ واقعاً سالم است، نه فایل صفر‌بایتی.

نکتهٔ حرفه‌ای: اگر بکاپ را فقط روی خود سرور نگه دارید، موقع فاجعه (مثلاً خرابی دیسک) همراه سرور از بین می‌رود. بعد از این مرحله، فایل را با scp یا rsync به یک مکان خارجی منتقل کنید — در مقالهٔ انتقال وردپرس به سرور روش انتقال فایل بین سرورها را گام‌به‌گام توضیح داده‌ایم.

گام ۵ — حذف اکانت هاست با userdel و تأیید نهایی

حالا که بکاپ سالم داریم، خود حذف ساده‌ترین بخش ماجراست. دو دستور اصلی داریم:

# حذف کاربر لینوکس (اکانت)
userdel demo-site

# حذف کامل فایل‌های اکانت
rm -rf /home/demo-site

# تأیید نهایی
id demo-site
ls -la /home/
حذف اکانت demo-site و تأیید نهایی: کاربر دیگر وجود ندارد و پوشهٔ اکانت از /home حذف شده — اسکرین‌شات واقعی

سه خط تأیید در تصویر مهم‌اند: id: 'demo-site': no such user یعنی اکانت از سیستم کاربران لینوکس حذف شده، و در خروجی ls -la /home/ دیگر خبری از demo-site نیست. اگر هر دو را دیدید، حذف کامل و موفق بوده.

فرق userdel و userdel -r چیست؟

دستور userdel demo-site فقط کاربر را از فایل‌های /etc/passwd، /etc/shadow و /etc/group حذف می‌کند و به فایل‌ها دست نمی‌زند. اگر سوئیچ -r را اضافه کنید (userdel -r demo-site)، لینوکس تلاش می‌کند پوشهٔ خانگی و صندوق ایمیل کاربر را هم هم‌زمان پاک کند.

پس چرا ما دو مرحله‌ای کار کردیم؟ چون userdel -r یک رفتار محتاطانه دارد: اگر مالکیت فایل‌های پوشهٔ خانگی با خود کاربر نخواند (که روی سرورهای قدیمی یا اکانت‌های جابه‌جاشده زیاد پیش می‌آید)، از حذف پوشه صرف‌نظر می‌کند و فقط اکانت را حذف می‌کند — بدون هیچ خطایی! یعنی ممکن است فکر کنید «همه‌چیز پاک شد» ولی چند صد مگابایت فایل بی‌صاحب روی دیسک مانده باشد. حذف صریح پوشه با rm -rf و تأیید با ls، این حالت را از بین می‌برد.

حذف اکانت‌های cPanel از SSH؛ دستور استاندارد killacct

روی سرورهایی که cPanel/WHM دارند، حذف اکانت با روش بالا ناقص است؛ چون cPanel حساب‌هایش را در دیتابیس داخلی و فایل‌های کانفیگ آپاچی هم ثبت می‌کند. اگر فقط کاربر لینوکس را پاک کنید، WHM هنوز اکانت را «زنده» می‌بیند و رکوردهای زامبی می‌مانند. راه استاندارد، اسکریپت رسمی cPanel است:

/scripts/killacct demo-site

این اسکریپت با یک تأیید ساده (y) تمام کار را یک‌جا انجام می‌دهد: حذف کاربر لینوکس، پاک‌سازی دیتابیس‌های cPanel، حذف دامنه‌ها از آپاچی، پاک‌کردن رکوردهای DNS و ایمیل‌ها. برای حذف بدون سؤال (در اسکریپت‌های خودکار) سوئیچ --force را اضافه کنید. روش API معادل آن هم این است:

whmapi1 removeacct username=demo-site

اگر مدیریت سرور cPanel برایتان تازه است، مقالهٔ کار با فایل‌های مخفی و htaccess در cPanel دید خوبی به ساختار فایل‌های این کنترل‌پنل می‌دهد.

حذف اکانت در DirectAdmin

در سرورهای DirectAdmin هم وضعیت مشابه است: حذف کاربر لینوکس به‌تنهایی کافی نیست و اکانت در پنل زنده می‌ماند. روش درست، حذف از پنل سطح ادمین یا ریسلر است (Show All Users ← Delete)، یا اگر به خط فرمان علاقه دارید، اکانت را از API خود DirectAdmin حذف کنید:

/usr/local/directadmin/directadmin --user demo-site --delete-account

حذف چند اکانت به‌صورت انبوه (برای مدیران سرور)

اگر قرار است چند اکانت را پشت‌سرهم حذف کنید، نام‌ها را در یک فایل بریزید و حلقهٔ زیر را اجرا کنید — با بکاپ خودکار برای هر اکانت:

#!/bin/bash
for user in $(cat users-to-delete.txt); do
    tar -czf /root/backup-${user}-$(date +%y%m%d).tar.gz -C /home "$user"
    userdel "$user"
    rm -rf /home/"$user"
    echo "DONE: $user"
done

فایل users-to-delete.txt را با دقت بسازید و قبل از اجرای حلقه، یک‌بار خروجی cat users-to-delete.txt را با چشم مرور کنید. روی سرورهای cPanel به‌جای userdel و rm، همان /scripts/killacct --force را داخل حلقه بگذارید.

۵ اشتباه رایج که سایت‌های همسایه را نابود می‌کند

اشتباه عاقبت روش درست
اجرای rm -rf /home/demo-site با فاصلهٔ اشتباه (مثل rm -rf / home/demo-site) حذف کل پوشهٔ home و همهٔ اکانت‌ها! دستور را در ویرایشگر تایپ و مرور کنید؛ هرگز مستقیم در ترمینال تایپ نکنید
حذف بدون بکاپ چون «مشتری گفت دیگر لازم نیست» درخواست بازیابی چند هفته بعد، بدون هیچ راهی بکاپ بگیرید و حداقل ۳۰ روز نگه دارید
حذف کاربر لینوکس روی سرور cPanel با userdel اکانت زامبی در WHM، خطای دیتابیس در پنل فقط با /scripts/killacct حذف کنید
حذف اکانت اشتباهی (نام‌های مشابه مثل demo-site و demo-site2) قطع شدن سایت مشتری دیگر قبل از هر دستور، مسیر را با ls تأیید کنید
نگه‌داشتن بکاپ‌ها روی همان دیسک سرور خرابی دیسک = حذف سرور و بکاپ‌ها با هم انتقال منظم به سرور یا فضای ابری دیگر

بحث اشتباه‌های انسانی در سرور تا این حد است که اگر به‌طور جدی به امنیت سرور فکر می‌کنید، حتماً مقالهٔ امنیت و هاردینگ سرورهای لینوکسی را هم بخوانید؛ آن‌جا دربارهٔ محدودکردن دسترسی‌ها و کار با کاربرهای غیر root با جزئیات صحبت کرده‌ایم.

جدول خلاصهٔ دستورها

کار دستور
اتصال به سرور ssh root@IP-سرور
مشاهدهٔ اکانت‌ها ls -la /home/
حجم اکانت du -sh /home/نام‌اکانت
بکاپ اکانت tar -czf /root/backup-اکانت-$(date +%y%m%d).tar.gz -C /home نام‌اکانت
تست سلامت بکاپ tar -tzf /root/backup-اکانت-*.tar.gz | head -۵
حذف اکانت (لینوکس) userdel نام‌اکانت
حذف فایل‌های اکانت rm -rf /home/نام‌اکانت
حذف اکانت cPanel /scripts/killacct نام‌اکانت
تأیید حذف id نام‌اکانت && ls -la /home/

سوالات متداول حذف اکانت هاست از طریق SSH

آیا بعد از userdel می‌شود اکانت را برگرداند؟

خیر؛ برخلاف پنل‌ها که معمولاً «Suspend» دارند، حذف با userdel دائمی است. تنها راه برگشت، بازگردانی از بکاپ است: tar -xzf backup-demo-site-*.tar.gz -C /home و بعد ساخت مجدد کاربر با useradd demo-site. به همین دلیل بکاپ‌گیری در گام ۴، اختیاری نیست.

تفاوت userdel و deluser چیست؟

هر دو یک کار را می‌کنند؛ userdel دستور اصلی پکیج shadow است و روی همهٔ توزیع‌ها هست. deluser اسکریپت همراهی دارد که روی دبیان/اوبونتو موجود است و جلوی حذف‌های خطرناک (مثل حذف root) را می‌گیرد. روی سرور اوبونتو هر دو قابل استفاده‌اند.

اگر هنگام userdel خطای «user is currently used by process» گرفتم چه کنم؟

یعنی هنوز پروسه‌ای در حال اجرا با آن کاربر است (معمولاً PHP-FPM، Cron یا یک سشن باز SSH). اول پروسه‌ها را ببینید و ببندید: ps -u demo-site و بعد pkill -KILL -u demo-site؛ سپس دوباره userdel را اجرا کنید.

روی سرور cPanel بعد از killacct هم فایل‌هایی از اکانت مانده؛ چرا؟

killacct پوشهٔ اصلی را حذف می‌کند اما بکاپ‌های سیستمی cPmove یا فایل‌های موقت مربوط به آن اکانت ممکن است در مسیرهای دیگر مانده باشند. با find / -user demo-site 2>/dev/null همهٔ فایل‌های مالِ آن کاربر را پیدا و پاک کنید — البته فقط بعد از اینکه مطمئن شدید کاربر واقعاً حذف شده.

قبل از حذف اکانت، ایمیل‌هایش را چطور بکاپ بگیرم؟

ایمیل‌های cPanel در /home/نام‌اکانت/mail و پوشهٔ etc ذخیره می‌شوند؛ همان بکاپ tar از کل پوشهٔ اکانت (مثل گام ۴) هر دو را پوشش می‌دهد. در DirectAdmin هم بکاپ کامل از پنل، ایمیل‌ها را شامل می‌شود.

جمع‌بندی

حذف اکانت هاست از طریق SSH در سه جمله خلاصه می‌شود: وصل شو، بکاپ بگیر، با دقت حذف کن و تأیید کن. ابزارها ساده‌اند — ls برای شناسایی، tar برای بکاپ، userdel و rm برای حذف و id برای تأیید — اما چون خروجی هیچ‌کدام قابل برگشت نیست، ارزش دارد هر دستور را قبل از اینتر، یک‌بار دیگر بخوانید. روی سرورهای cPanel و DirectAdmin همیشه از روش رسمی خود پنل (killacct یا API) استفاده کنید تا اکانت‌های زامبی برایتان دردسر نسازند.

اگر سروری می‌خواهید که این آزمایش‌ها و کارهای مدیریتی را رویش آزادانه انجام دهید — بدون ترس از خراب‌کردن سرور اصلی‌تان — یک سرور مجازی یا سرور اختصاصی با دسترسی کامل root از نگارنوین تهیه کنید؛ تحویل آنی داریم و روی همهٔ پلن‌ها دسترسی کامل ریشه در اختیارتان است. سؤالی دربارهٔ حذف اکانت یا مدیریت سرور دارید؟ در کامنت‌ها بپرسید تا با جزئیات جواب بدهیم.

🖼️ تصاویر

🏷️ کلمات کلیدی

آموزش حذف اکانت هاست از طریق SSH، حذف اکانت هاست، حذف اکانت cPanel از SSH، پاک کردن اکانت هاست، حذف کاربر لینوکس با userdel، delete hosting account via ssh، killacct، حذف کامل هاست از سرور، userdel -r

🧩 JSON-LD

{"@context":"https://schema.org","@type":"BlogPosting","headline":"آموزش حذف اکانت هاست از طریق SSH؛ گام‌به‌گام با ترمینال واقعی","url":"https://negarnovin.com/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%ad%d8%b0%d9%81-%d8%a7%da%a9%d8%a7%d9%86%d8%aa-%d9%87%d8%a7%d8%b3%d8%aa-%d8%a7%d8%b2-%d8%b7%d8%b1%db%8c%d9%82-ssh/","datePublished":"2020-12-06T11:57:30+03:30","dateModified":"2026-10-20T09:09:38+03:30","author":{"@type":"Person","name":"نگارنوین"},"publisher":{"@type":"Organization","name":"نگارنوین"},"inLanguage":"fa-IR","description":"آموزش حذف اکانت هاست از طریق SSH با اسکرین‌شات واقعی: اتصال به سرور، بکاپ‌گیری با tar، حذف با userdel و killacct و تأیید نهایی حذف — گام‌به‌گام و بدون ریسک."}

📈 آمار و ارقام قابل استناد

📄 نحوهٔ استناد به این صفحه

متن ساده:

نگارنوین، «آموزش حذف اکانت هاست از طریق SSH»، negarnovin.com

Markdown:

[آموزش حذف اکانت هاست از طریق SSH؛ گام‌به‌گام با ترمینال واقعی](https://negarnovin.com/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%ad%d8%b0%d9%81-%d8%a7%da%a9%d8%a7%d9%86%d8%aa-%d9%87%d8%a7%d8%b3%d8%aa-%d8%a7%d8%b2-%d8%b7%d8%b1%db%8c%d9%82-ssh/) — نگارنوین (به‌روزرسانی 2026-10-20)