لینوکس Linuxنوشته های ویژه

حل مشکل لاگین نشدن root به ssh با کلید key

اگر با مشکل لاگین نشدن root مواجه هستید و کاربر root قادر به ورود با استفاده از احراز هویت کلید SSH به سرور CentOS 7 نمی‌باشد، می‌تواند چندین دلیل برای این مشکل وجود داشته باشد. در زیر، تعدادی اقدامات را برای رفع این مشکل ارائه می‌دهیم:

  1. بررسی مجوزهای کلید SSH:
    مطمئن شوید که مجوزهای دایرکتوری ~/.ssh و فایل authorized_keys به درستی تنظیم شده باشند. دایرکتوری ~/.ssh باید مجوز 700 داشته باشد و فایل authorized_keys باید مجوز 600 داشته باشد. مجوزهای نادرست می‌توانند از احراز هویت کلید SSH جلوگیری کنند.
   chmod 700 ~/.ssh
   chmod 600 ~/.ssh/authorized_keys
  1. بررسی تنظیمات SSHD:
    فایل تنظیمات سرور SSH به مسیر /etc/ssh/sshd_config رفته و اطمینان حاصل کنید که تنظیمات زیر به درستی تنظیم شده باشند:
   PermitRootLogin yes
   PasswordAuthentication no
   PubkeyAuthentication yes

پس از اعمال تغییرات در تنظیمات SSHD، به یاد داشته باشید که سرویس SSH را دوباره راه‌اندازی کنید:

   systemctl restart sshd
  1. تأیید فرمت کلید مجاز:
    اطمینان حاصل کنید که کلید عمومی در فایل authorized_keys در فرمت صحیح قرار دارد. این کلید باید یک خط تکی باشد و با ssh-rsa شروع شده و سپس محتوای کلید را دنبال کند. اگر خطوط جداکننده یا کاراکترهای اضافی دارید، ممکن است باعث مشکلات احراز هویت شود.
  2. بررسی تنظیمات SELinux:
    اگر SELinux فعال باشد، ممکن است از احراز هویت کلیدی SSH جلوگیری کند. می‌توانید موقتاً SELinux را غیرفعال کرده و تست کنید که آیا مشکل را حل می‌کند یا خیر:
   setenforce 0

اگر این اقدام مشکل را حل کند، ممکن است نیاز باشد تا سیاست‌های SELinux را تنظیم کنید تا احراز هویت کلیدی SSH مجاز شود.

  1. بررسی لاگ‌های SSH:
    لاگ‌های سرور SSH را برای پیام‌های خطا که ممکن است علت شکست احراز هویت باشند، بررسی کنید. لاگ‌های SSH را می‌توانید در مسیر /var/log/secure پیدا کنید:
   cat /var/log/secure | grep sshd

به دنبال پیام‌هایی بگردید که به شکست‌های احراز هویت یا مشکلات کلیدی مرتبط باشند.

  1. تأیید مطابقت جفت کلید:
    مطمئن شوید که کلید خصوصی در دستگاه محلی شما با کلید عمومی در فایل authorized_keys در سرور مطابقت دارد. اگر مطابقت نداشته باشند، احراز هویت ناموفق خواهد بود.
  2. بررسی مجوزهای دایرکتوری خانه:
    مجوزهای دایرکتوری خانه کاربر root را بررسی کنید و مطمئن شوید که مجوزهای مناسب (755 یا 700) دارد. مجوزهای نادرست در دایرکتوری خانه همچنین می‌توانند باعث مشکلات احراز هویت شوند.
  3. راه‌اندازی مجدد سرویس SSH:
    بعد از انجام تغییرات در تنظیمات SSH، همیشه به یاد داشته باشید که سرویس SSH را برای اعمال تغییرات مجدداً راه‌اندازی کنید:
   systemctl restart sshd
  1. امتحان با یک کاربر دیگر: به عنوان یک شیوه بهتر امنیتی، معمولاً توصیه می‌شود که ورود مستقیم کاربر root از طریق SSH را غیرفعال کنید. به جای آن، می‌توانید یک کاربر جداگانه با دسترسی‌های مدیریتی ایجاد کنید و از آن کاربر برای ورود به سیستم از طریق SSH استفاده کنید. سپس، می‌توانید از sudo برای انجام وظایف مدیریتی استفاده کنید.

به یاد داشته باشید که هنگام مواجهه با تغییرات در تنظیمات SSH و سیستم، حتماً با دقت و احتیاط عمل کنید تا از وقوع مشکلات ناخواسته جلوگیری کنید. همیشه یک برنامه پشتیبانی در نظر داشته باشید در صورتی که مشکلی پیش بیاید.


مهرداد تاری

تلاش میکنم مطالبی منتشر کنم که از اعتبار و کیفیت بالایی برخوردار باشند. خواهشمندم در صورت مشاهده اشکال، حتما مرا مطلع سازید. سپاس TARIMEHR

نوشته های مشابه

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

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

دکمه بازگشت به بالا