مقدمه
به منظور دسترسی ایمن به نمونه Hetzner از رایانه محلی خود، توصیه می شود از کلید SSH استفاده کنید. در این آموزش، من شما را راهنمایی میکنم که چگونه ورود امن را با کلید SSH خود در یک نمونه جدید Hetzner تنظیم کنید.
رمزهای عبور اغلب بسیار ضعیف هستند. اگر قدرت رمز عبور را افزایش دهید، به خاطر سپردن رمز عبور بسیار دشوار می شود و استفاده از مدیر رمز عبور اجتناب ناپذیر است. کلیدهای SSH نیز از طول خود سود می برند. آنها می توانند تا 4096 بیت باشند. همچنین می توانید از الگوریتم های مختلفی مانند ECC (Elliptic Curve Cryptography) با استفاده از استاندارد ed25519 استفاده کنید که در این آموزش نیز از آن استفاده خواهیم کرد.
پیش نیازها
- یک حساب ابری Hetzner
- مجوزهای ایجاد یک پروژه Hetzner و یک نمونه Hetzner
- ssh-keygen، cat و nano روی رایانه محلی شما نصب شده است
مرحله 1 – کلید SSH محلی خود را ایجاد کنید
شما باید یک کلید SSH در دستگاه محلی خود ایجاد کنید. برای شناسایی کلید SSH در آینده توصیه می شود در پایان یک نظر اضافه کنید. برخی از اطلاعات در مورد خود کامپیوتر می تواند مفید باشد. به عنوان مثال:
SSH-Key - MacbookPro 13 Inch - [email protected]
ssh-keygen -t ed25519 -C "some comment here"
سپس نام فایل/محل کلید SSH از شما خواسته می شود. برای اینکه نام پیشفرض (ed25519) و مکان (/home/user/.ssh/) را بگذارید، فقط میتوانید اینتر را بزنید. اگر می خواهید فایل را طوری نام گذاری کنید که بتوانید بین چندین کلید برای چندین سرور مختلف تمایز قائل شوید، می توانید /home/user/.ssh/server01 را وارد کنید، جایی که نام کاربری خود را جایگزین کاربر می کنید.
سپس باید رمز عبور خود را برای افزودن امنیت بیشتر به سرور تنظیم کنید. آموزش های زیادی در یوتیوب و کل اینترنت وجود دارد که افزودن عبارت عبور صرفاً حذف شده یا توصیه نمی شود. ما قویاً توصیه می کنیم برای تنظیم یک نمونه ایمن یک عبارت عبور تنظیم کنید. این عبارت عبور از کلید خصوصی محافظت می کند، بنابراین هیچ کس نمی تواند به سرور دسترسی داشته باشد حتی اگر به رایانه شما دسترسی داشته باشد. میتوانید کلاینت SSH خود را طوری پیکربندی کنید که با keypass ارتباط برقرار کند تا از وارد کردن رمز عبور هر بار اجتناب کنید، اما بدانید که معمولاً keypass همیشه فعال است، بنابراین دسترسی مستقیم به جلسه وارد شده شما مانع از دسترسی غیرمجاز به سرور در آن زمان نمیشود. مورد با این حال از هر کسی در برابر کپی کردن فایل و استفاده از آن در رایانه دیگری محافظت می کند. این دستور به طور پیش فرض یک کلید عمومی و یک کلید خصوصی به نام های id_ed25519.pub و id_ed25519 ایجاد می کند و در مسیر ~/.ssh/ ذخیره می شوند. فایل id_ed25519.pub کلید عمومی است که سرور برای احراز هویت کاربر به آن نیاز دارد و فایل id_ed25519 کلید خصوصی شماست که هیچکس به جز شما نباید به آن دسترسی داشته باشد، به خصوص اگر مرحله تنظیم یک عبارت عبور را نادیده بگیرید.
مرحله 2 – کلید SSH را به کنسول ابری Hetzner خود اضافه کنید
در این مرحله مهم است که روشن شود که کلیدهای SSH بین پروژه های Hetzner مشترک نیستند. یعنی باید این مرحله را با همان کلید یا کلیدهای مختلف برای هر پروژه جدید تکرار کنید.
- یک پروژه را انتخاب کنید یا یک پروژه جدید ایجاد کنید
- در منوی سمت چپ پروژه خود، آیتم منوی Security را انتخاب کنید
- روی دکمه Add SSH Key کلیک کنید
- در ماشین محلی خود دستور cat /home/user/.ssh/id_ed25519.pub را اجرا کنید تا محتوای فایل خود را ببینید یا آن را در ویرایشگر باز کنید.
- با انتخاب خروجی و استفاده از ctrl+shift+c محتوای id_ed25519.pubfile خود را از دستگاه محلی خود در کلیپ بورد کپی کنید.
- کلید SSH را در قسمت مشخص شده در حساب Hetzner خود قرار دهید
- یک نام برای کلید SSH اضافه کنید تا آن را در کنسول ابری Hetzner شناسایی کنید یا نام تولید شده به طور خودکار را بر اساس نظر کلید بگذارید.
- همین است. این کلید SSH خاص هر بار که یک نمونه جدید برای این پروژه خاص ایجاد می کنید، آماده استفاده است
مرحله 3 – یک نمونه Hetzner با کلید SSH اضافه شده در کنسول Cloud ایجاد کنید
- در منوی سمت چپ پروژه که در مرحله قبل کلید SSH را اضافه کردید، آیتم منوی سرورها را انتخاب کنید
- بر روی دکمه افزودن سرور کلیک کنید
- یک مکان، یک سیستم عامل، یک نوع و سایر تنظیمات دلخواه را انتخاب کنید
- در قسمت کلید SSH مطمئن شوید که روی کلید SSH پیشنهادی که در مرحله قبل اضافه کرده اید کلیک کنید. فیلد کلید باید برجسته شود
- با کلیک بر روی ایجاد و خرید، نمونه را ایجاد کنید
مرحله 4 – ورود به سیستم را با کلید SSH از رایانه محلی خود آزمایش کنید
- آدرس IP نمونه Hetzner را کپی کنید
- در رایانه محلی خود ورود به سیستم را شروع کنید. آدرس IP نمونه Hetzner ایجاد شده را جایگزین xxx.xxx.xxx.xxx کنید.
- بله را تایپ کنید تا اثر انگشت را به فایل known_host اضافه کنید
- عبارت عبوری را که برای کلید SSH تنظیم کرده اید وارد کنید
- و بس. اگر پیام خوش آمدگویی نمونه اوبونتو هتزنر را مشاهده کردید، روند موفقیت آمیز بود
مرحله 5 – یک کلید SSH را به یک سرور از قبل ایجاد شده اضافه کنید
اگر سرور خود را قبل از افزودن کلید SSH ایجاد کرده اید، نمی توانید آن را از طریق Cloud Console به سرور خود اختصاص دهید.
بهتر است ابتدا این کار را روی یک سرور جدید امتحان کنید تا اتصال SSH به یک محیط تولید قطع نشود. از آنجایی که این فقط چند دقیقه طول می کشد، می توانید به سرعت یک سرور راه اندازی کنید و در بدترین حالت چند سنت هزینه داشته باشید. بنابراین یک سرور جدید بدون کلید SSH ایجاد کنید و این مراحل را دنبال کنید.
محتوای فایل کلید عمومی خود را با استفاده از:
cat /home/user/.ssh/id_ed25519.pub
خروجی را با استفاده از ctrl+shift+c انتخاب کنید
با استفاده از: وارد سرور خود شوید:
ssh root@server_ip
کلید سرور را بنویسید:
- به عنوان کاربر ریشه:
echo "keyfile_content" >> /root/.ssh/authorized_keys
- مانند هر کاربر دیگری:
echo "keyfile_content" >> /home/user/.ssh/authorized_keys
جایگزین keyfile_content با محتوای id_ed25519.pub که همین الان کپی کردید جایگزینی کاربر با نام کاربری
nano /etc/ssh/sshd_config
در صورت نصب می توانید ویرایشگر مورد نظر خود را جایگزین نانو کنید.
اگر می خواهید ورود رمز عبور را غیرفعال کنید، یک خط با PermitRootLogin پیدا کنید و دقیقاً آن را با:
PermitRootLogin prohibit-password
این امکان استفاده از رمزهای عبور ناامن را غیرفعال می کند و فقط کلیدهای SSH شما را می پذیرد
برای بارگذاری مجدد دیمون SSH خود برای فعال کردن تنظیمات جدید، اجرا کنید:
systemctl restart sshd
از جلسه SSH خارج شوید و سعی کنید بدون رمز عبور به آن دسترسی داشته باشید. اگر یک عبارت عبور برای محافظت از کلید خصوصی محلی خود تعیین کرده اید، همچنان باید عبارت عبور را وارد کنید.
اگر این مراحل را به دقت دنبال کردید و همه چیز طبق برنامه کار میکند، اکنون میتوانید سرور تولید خود را ادامه دهید و دوباره سرور آزمایشی را حذف کنید.
نتیجه
اکنون می توانید با یک روش امن به نمونه Hetzner خود وارد شوید.