ESXi Password Recovery

مدتی قبل در یکی از پروژه های اجرایی با چند Host با نسخه های مختلف ESXi مواجه شدم که پسورد کاربر root آنها در دسترس نبود و این امر باعث به وجود آمدن مشکلاتی برای پیشبرد کار شده بود.

در این شرایط اگر برای یافتن راهکاری برای Password Recovery به وب سایت VMware  رجوع کنیم خواهیم دید که دراین  مقاله نصب مجدد ESXi را تنها راهکار برای تنظیم مجدد پسورد بیان کرده و هر راه دیگر برای این منظور را به دلیل ساختار و طبیعت پیچیده این Hypervisor را  منجر به بروز مشکلات متعدد و پشتیبانی نشده در آن می­داند.

بعد از قطع امید از وجود راه کارهای رسمی به دنبال روش های تأیید نشده و غیر رسمی می­رویم! در این میان از روشی استفاده می­کنیم که بر اساس منطق سیستم عامل های مبتنی بر لینوکس است. در این سیستم عامل ها اطلاعات حساب کاربری هریک از کاربران در فایلی به نام shadow در مسیر /etc/ ذخیره می­شود برای همین برای بازیابی پسورد لازم است تا به این فایل دسترسی داشته باشیم. در ادامه قصد داریم تا روشی ساده برای Password Recovery یک ESXi را برای شما شرح دهیم.

برای انجام کار نیاز به یک نسخه دیسک بوت زنده لینوکس داریم. تفاوتی در نوع آن وجود ندارد و من برای این کار از آخرین نسخه سیستم عامل اوبونتو دسکتاپ که از طریق این لینک در دسترس است استفاده می ­کنم.

برای انجام این کار کافی است  مراحل زیر را طی می­کنیم:
1- Host مورد نظر را با استفاده از دیسک سیستم عامل اوبونتو راه اندازی می­کنیم. در این مرحله با انتخاب Try Ubuntu سیستم عامل اوبونتو را به صورت مستقیم اجرا می­کنیم:

 2- در محیط دسکتاپ اوبونتو با کلیک بر آیکون اوبونتو در سمت چپ ابزار Gparted را جستجو کرده و اجرا می­کنیم:

بعد از اجرای برنامه Partition های ESXi را خواهیم دید:

ESXi در فضای 250 مگابایتی (/dev/sda5) نصب شده است. این مسیر را به خاطر می­سپاریم.

3- به محیط ترمینال رفته و با استفاده از دستور “sudo –s” دسترسی root را کسب و پارتیشن نصب ESXi را mount می­کنیم. بعد از این کار و لیست کردن محتویات این Partition فایل state.tgz را می­بینیم که نیاز داریم از حالت فشرده خارج کنیم:

4- فایل state.tgz را به شاخه موقتی (temp) کپی کرده و در آنجا از حالت فشرده خارج میکنیم. در این مرحله به فایل فشرده دیگری به نام local.tgz می­رسیم:

5- فایل local.tgz را که مسیر /etc را در خود جای داده از حالت فشرده خارج می­کنیم:

6- به شاخه /etc می­رویم. در این مسیر فایل shadow که حاوی hash پسورد کاربر root است می­رسیم:

7- با استفاده از ویرایشگر vi فایل shadow را باز می­کنیم. می­بینیم که hash پسورد کاربر root بین دو نشان کولون (:) اول قرار دارد. برای حذف پسورد این hash را حذف می­کنیم و فایل را با استفاده از دستور :wq ذخیره می­کینم:

8- با استفاده از دستورات زیر فایل های را مجددا در یک بسته قرار داده و در مسیر اصلی خود در پارتیشن سیستمی ESXi کپی می­کنیم:

9- بعد از انجام مرحله قبل کار با محیط لینوکس به اتمام رسیده است. با استفاده از دستور reboot سیستم را مجددا راه اندازی کرده و صبر می­کنیم تا بعد از بوت ESXi به محیط DCUI برسیم. در این مرحله با فشردن کلید F2 پنجره ورود پسورد کاربر root باز خواهد شد. کافیست بدون پسورد کلید Enter را فشار دهیم!

در این مرحله به تنظیمات مدیریتی ESXi دسترسی خواهیم داشت و می­توانیم پسورد موردنظر خود را ست کنیم.

لازم به ذکر است کلیه مراحل بالا درESXi 6.0 انجام شده و روش در نسخه های قبلی ESXi هم قابل استفاده است.

امیدوارم این روش در مواقع ضروری برای دوستان مفید واقع شود.ESXi Password Recovery

 

 

 

 

درباره نویسنده

رضا دانشمند

پاسخ دهید