لینوکس Linuxنوشته های ویژه
حل مشکل لاگین نشدن root به ssh با کلید key
اگر با مشکل لاگین نشدن root مواجه هستید و کاربر root قادر به ورود با استفاده از احراز هویت کلید SSH به سرور CentOS 7 نمیباشد، میتواند چندین دلیل برای این مشکل وجود داشته باشد. در زیر، تعدادی اقدامات را برای رفع این مشکل ارائه میدهیم:
- بررسی مجوزهای کلید SSH:
مطمئن شوید که مجوزهای دایرکتوری~/.ssh
و فایلauthorized_keys
به درستی تنظیم شده باشند. دایرکتوری~/.ssh
باید مجوز700
داشته باشد و فایلauthorized_keys
باید مجوز600
داشته باشد. مجوزهای نادرست میتوانند از احراز هویت کلید SSH جلوگیری کنند.
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
- بررسی تنظیمات SSHD:
فایل تنظیمات سرور SSH به مسیر/etc/ssh/sshd_config
رفته و اطمینان حاصل کنید که تنظیمات زیر به درستی تنظیم شده باشند:
PermitRootLogin yes PasswordAuthentication no PubkeyAuthentication yes
پس از اعمال تغییرات در تنظیمات SSHD، به یاد داشته باشید که سرویس SSH را دوباره راهاندازی کنید:
systemctl restart sshd
- تأیید فرمت کلید مجاز:
اطمینان حاصل کنید که کلید عمومی در فایلauthorized_keys
در فرمت صحیح قرار دارد. این کلید باید یک خط تکی باشد و باssh-rsa
شروع شده و سپس محتوای کلید را دنبال کند. اگر خطوط جداکننده یا کاراکترهای اضافی دارید، ممکن است باعث مشکلات احراز هویت شود. - بررسی تنظیمات SELinux:
اگر SELinux فعال باشد، ممکن است از احراز هویت کلیدی SSH جلوگیری کند. میتوانید موقتاً SELinux را غیرفعال کرده و تست کنید که آیا مشکل را حل میکند یا خیر:
setenforce 0
اگر این اقدام مشکل را حل کند، ممکن است نیاز باشد تا سیاستهای SELinux را تنظیم کنید تا احراز هویت کلیدی SSH مجاز شود.
- بررسی لاگهای SSH:
لاگهای سرور SSH را برای پیامهای خطا که ممکن است علت شکست احراز هویت باشند، بررسی کنید. لاگهای SSH را میتوانید در مسیر/var/log/secure
پیدا کنید:
cat /var/log/secure | grep sshd
به دنبال پیامهایی بگردید که به شکستهای احراز هویت یا مشکلات کلیدی مرتبط باشند.
- تأیید مطابقت جفت کلید:
مطمئن شوید که کلید خصوصی در دستگاه محلی شما با کلید عمومی در فایلauthorized_keys
در سرور مطابقت دارد. اگر مطابقت نداشته باشند، احراز هویت ناموفق خواهد بود. - بررسی مجوزهای دایرکتوری خانه:
مجوزهای دایرکتوری خانه کاربر root را بررسی کنید و مطمئن شوید که مجوزهای مناسب (755
یا700
) دارد. مجوزهای نادرست در دایرکتوری خانه همچنین میتوانند باعث مشکلات احراز هویت شوند. - راهاندازی مجدد سرویس SSH:
بعد از انجام تغییرات در تنظیمات SSH، همیشه به یاد داشته باشید که سرویس SSH را برای اعمال تغییرات مجدداً راهاندازی کنید:
systemctl restart sshd
- امتحان با یک کاربر دیگر: به عنوان یک شیوه بهتر امنیتی، معمولاً توصیه میشود که ورود مستقیم کاربر root از طریق SSH را غیرفعال کنید. به جای آن، میتوانید یک کاربر جداگانه با دسترسیهای مدیریتی ایجاد کنید و از آن کاربر برای ورود به سیستم از طریق SSH استفاده کنید. سپس، میتوانید از
sudo
برای انجام وظایف مدیریتی استفاده کنید.
به یاد داشته باشید که هنگام مواجهه با تغییرات در تنظیمات SSH و سیستم، حتماً با دقت و احتیاط عمل کنید تا از وقوع مشکلات ناخواسته جلوگیری کنید. همیشه یک برنامه پشتیبانی در نظر داشته باشید در صورتی که مشکلی پیش بیاید.