غیرفعال کردن ورود با رمز عبور در SSH
در این صفحه یاد میگیرید که سرور را طوری تنظیم کنید که ورود به SSH با رمز عبور ممکن نباشد و فقط با کلید خودتان بتوانید وارد شوید. این کار را روی همه سرورهایی که هیدیفای منیجر روی آنها نصب است انجام دهید.
چرا این کار لازم است
- نشانه: در پنل مدیریت هیدیفای این هشدار را میبینید: «سرور شما به دلیل فعال بودن احراز هویت رمز عبور در SSH، در معرض سوء استفاده قرار دارد»، یا هنگام باز کردن منوی
hiddifyروی سرور، یک کادر WARNING نمایش داده میشود. - علت: سرور شما هنوز ورود به SSH با رمز عبور را میپذیرد. رباتها در اینترنت هر روز هزاران رمز را امتحان میکنند. اگر یکی درست باشد، کنترل سرور را به دست میگیرند و از آن برای حمله استفاده میکنند. این کار ممکن است باعث شود دیتاسنتر سرور شما را به خاطر ایبوز (abuse) مسدود کند.
- راهحل: بهجای رمز عبور با کلید SSH وارد شوید و بعد ورود با رمز را خاموش کنید. کلید SSH یک جفت فایل است که روی کامپیوتر خودتان ساخته میشود: یک کلید خصوصی که پیش شما میماند و یک کلید عمومی که روی سرور کپی میکنید. سرور فقط به کامپیوتری اجازه ورود میدهد که کلید خصوصی متناظر را داشته باشد.
پیش از شروع
- باید بتوانید با SSH به سرور وصل شوید. اگر هنوز این کار را بلد نیستید، آموزش اتصال به سرور با SSH را ببینید.
- آدرس IP سرور و نام کاربری SSH (معمولاً
root) را میدانید. - روی کامپیوترتان یک ترمینال دارید: PowerShell در ویندوز و Terminal در مک یا لینوکس.
بخش ۱ را جا نیندازید
اگر پیش از آنکه ورود با کلید کار کند رمز عبور را خاموش کنید، دیگر نمیتوانید وارد سرور شوید. بعضی شرکتهای میزبانی در داشبورد خود یک کنسول وب دارند که در این حالت هم راه ورود میدهد، ولی همه آن را ندارند.
بخش ۱: راهاندازی ورود با کلید
این مراحل را روی کامپیوتر خودتان انجام دهید، نه روی سرور.
-
یک جفت کلید بسازید (اگر از قبل کلید دارید، این مرحله را رد کنید):
برای پذیرفتن محل پیشفرض فایل، Enter بزنید. میتوانید برای محافظت از کلید یک عبارت عبور (passphrase) وارد کنید، یا دو بار Enter بزنید تا خالی بماند.
-
کلید عمومی را روی سرور کپی کنید. بهجای
rootنام کاربری خود و بهجایyour_server_ipآدرس IP سرور را بنویسید. وقتی خواسته شد، یک بار رمز عبور سرور را وارد کنید. -
کلید را آزمایش کنید. یک پنجره ترمینال جدید باز کنید و این دستور را اجرا کنید:
اگر درست انجام شده باشد، بدون پرسیدن رمز عبور سرور وارد میشوید (اگر برای کلید عبارت عبور گذاشته باشید، همان را میپرسد).
اگر هنوز رمز عبور سرور را میپرسد، کلید درست کپی نشده است. مرحله ۲ را تکرار کنید و به بخش ۲ نروید.
بخش ۲: خاموش کردن ورود با رمز عبور
این مراحل را روی سرور و از طریق SSH انجام دهید. پنجره SSH فعلی را تا آخر کار باز نگه دارید تا اگر مشکلی پیش آمد، هنوز راه ورود داشته باشید.
-
یک فایل تنظیمات کوچک بسازید که ورود با رمز را خاموش میکند:
اوبونتو فایلهای پوشه
/etc/ssh/sshd_config.d/را پیش از فایل اصلیsshd_configمیخواند و اولین مقداری که پیدا کند اعمال میشود. بعضی شرکتهای میزبانی در این پوشه فایلی (مثلاً50-cloud-init.conf) میگذارند که ورود با رمز را دوباره روشن میکند. پیشوند00-در نام فایل باعث میشود تنظیم شما اولویت داشته باشد. -
تنظیمات SSH را از نظر خطا بررسی کنید:
اگر درست انجام شده باشد، این دستور چیزی چاپ نمیکند. اگر خطایی نشان داد، پیش از ادامه فایلی را که نام برده اصلاح کنید.
-
سرویس SSH را ریاستارت کنید تا تغییر اعمال شود:
-
مطمئن شوید که تنظیم فعال شده است:
اگر درست انجام شده باشد، عبارت
passwordauthentication noرا میبینید.
بخش ۳: آزمایش
- روی کامپیوتر خود یک پنجره ترمینال جدید باز کنید و دوباره با
ssh root@your_server_ipوصل شوید. باید با کلید و بدون رمز عبور سرور وارد شوید. - اختیاری: از کامپیوتر دیگری که کلید شما را ندارد وصل شوید. سرور باید با پیام
Permission denied (publickey)اجازه ورود ندهد. - صفحه پنل مدیریت هیدیفای را تازهسازی (refresh) کنید. هشدار رمز عبور باید برطرف شده باشد.
اگر دیگر نمیتوانید وارد شوید: به پنجره SSH که باز نگه داشتهاید برگردید، فایلی را که ساختید پاک کنید و SSH را ریاستارت کنید:
اگر همه پنجرهها را بستهاید، همین دستورها را از کنسول وب شرکت میزبانی اجرا کنید.
راههای بیشتر برای امن کردن سرور
- پورت SSH را تغییر دهید تا تلاشهای خودکار برای ورود کمتر شود.
- فایروال هیدیفای را روشن کنید تا فقط پورتهایی که استفاده میکنید باز باشند.
- سرور خود را بهروز نگه دارید.