اتصال به سرور با کلید SSH: راهنمای جامع
در دنیای فناوری اطلاعات، امنیت و کارآیی از جمله عوامل بسیار مهمی هستند که باید در نظر گرفتهشوند. یکی از روشهای پرکاربرد و امن برای اتصال به سیستمهای از راه دور، استفاده از کلید SSH است. در این مقاله به بررسی کامل و حرفهای چگونگی اتصال به سرور با استفاده از کلید SSH خواهیم پرداخت.
SSH چیست و چرا از آن استفاده میکنیم؟
SSH (Secure Shell) یک پروتکل شبکهای امن است که برای دسترسی امن به سیستمهای از راه دور استفاده میشود. این پروتکل از رمزنگاری برای حفظ اطلاعات منتقلشده و همچنین احراز هویت کاربران استفاده میکند. یکی از اصلیترین دلایل استفاده از SSH، ارائه یک محیط امن برای ارتباطات از راه دور و مدیریت سرورها است. این محیط به کاربران اجازه میدهد تا بدون نگرانی از حملات میان راهی (MITM) و دیگر حملات امنیتی، به راحتی و به صورت ایمن به سرورهای خود دسترسی پیدا کنند.
مقدمهای بر کلید SSH
کلید SSH شامل دو بخش اصلی است: کلید عمومی و کلید خصوصی. این کلیدها به صورت جفت تولید میشوند و برای احراز هویت کاربران استفاده میشوند. کلید عمومی باید بر روی سرور قرار گیرد و کلید خصوصی باید در سیستم محلی (کامپیوتر کاربر) نگهداری شود. زمانی که کاربر قصد ورود به سرور را دارد، سیستم با استفاده از این دو کلید، هویت کاربر را تأیید میکند و اجازه دسترسی به وی داده میشود.
ایجاد کلید SSH
برای ایجاد یک جفت کلید SSH، میتوان از ابزارهای مختلفی استفاده کرد. یکی از پرکاربردترین ابزارها برای این کار، ssh-keygen
است که در بسیاری از سیستمعاملهای مبتنی بر یونیکس و لینوکس به صورت پیشفرض نصب میشود. در این قسمت مراحل ایجاد کلید SSH را بررسی میکنیم.
۱. اجرای دستور ssh-keygen
ابتدا باید ترمینال را باز کنید و دستور زیر را اجرا کنید:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
در این دستور:
-t rsa
نوع کلید مورد نظر را مشخص میکند که در اینجا RSA است.-b 4096
طول کلید را به بیت مشخص میکند که در اینجا ۴۰۹۶ بیت است.-C "your_email@example.com"
یک کامنت به کلید اضافه میکند که معمولاً برای شناسایی راحتتر کلید استفاده میشود.
۲. تعیین مکان ذخیرهسازی کلید
بعد از اجرای دستور، از شما خواسته میشود تا مکان ذخیره کلید را تعیین کنید. به صورت پیشفرض، کلیدها در دایرکتوری ~/.ssh/
و با نام id_rsa
(برای کلید خصوصی) و id_rsa.pub
(برای کلید عمومی) ذخیره میشوند.
۳. تنظیم عبارت عبور (Passphrase)
در مرحله بعد، از شما خواسته میشود تا یک عبارت عبور برای کلید خصوصی خود تعیین کنید. این عبارت عبور باعث میشود که در صورت دستیابی غیرمجاز به کلید خصوصی، همچنان یک لایه امنیتی اضافی برای حفاظت از کلید وجود داشته باشد.
۴. مشاهده کلیدهای ساختهشده
بعد از انجام مراحل فوق، کلیدهای شما در مسیر مشخصشده ذخیره میشوند. میتوانید این کلیدها را مشاهده کنید:
cat ~/.ssh/id_rsa.pub # مشاهده کلید عمومی
cat ~/.ssh/id_rsa # مشاهده کلید خصوصی
انتقال کلید عمومی به سرور
بعد از ساخت کلیدها، باید کلید عمومی را به سرور منتقل کنیم. یکی از راحتترین روشها برای انجام اینکار، استفاده از ابزار ssh-copy-id
است. با اجرای دستور زیر، کلید عمومی به سرور منتقل میشود:
ssh-copy-id user@server_ip
در این دستور، user
نام کاربری شما در سرور و server_ip
آدرس IP یا دامنه سرور شماست.
اگر ابزار ssh-copy-id
در دسترس نیست، میتوانید از روش دستی استفاده کنید. برای این کار، محتوای کلید عمومی (فایل ~/.ssh/id_rsa.pub
) را کپی کرده و آن را به فایل ~/.ssh/authorized_keys
در سرور اضافه کنید.
اتصال به سرور با کلید SSH
حال که کلید عمومی به سرور منتقل شده است، میتوانید با استفاده از کلید خصوصی خود به سرور متصل شوید. برای اتصال به سرور با کلید SSH، از دستور زیر استفاده کنید:
ssh -i ~/.ssh/id_rsa user@server_ip
در این دستور، -i ~/.ssh/id_rsa
مسیر به کلید خصوصی شماست و user@server_ip
اطلاعات لاگین شماست.
پیکربندی SSH برای افزایش امنیت
بعد از اینکه توانستید با موفقیت به سرور متصل شوید، مراحل زیر را برای افزایش امنیت پیکربندی SSH انجام دهید.
۱. غیرفعال کردن ورود با رمز عبور
یکی از راههای افزایش امنیت، غیرفعال کردن ورود با رمز عبور است. برای این کار، فایل تنظیمات SSH را باز کنید:
sudo nano /etc/ssh/sshd_config
در این فایل، مقدار PasswordAuthentication
را به no
تغییر دهید:
PasswordAuthentication no
سپس، سرویس SSH را مجدداً راهاندازی کنید:
sudo systemctl restart sshd
۲. محدود کردن کاربرانی که میتوانند لاگین کنند
برای افزایش امنیت، میتوانید کاربران مشخصی را مجاز به لاگین کنید. برای این کار، در فایل تنظیمات SSH، خط زیر را اضافه کنید:
AllowUsers your_username
۳. تغییر پورت پیشفرض SSH
برای افزایش امنیت، میتوانید پورت پیشفرض SSH (پورت ۲۲) را تغییر دهید. این کار میتواند تا حدودی جلوی حملات حدس زدن پسورد (brute force) را بگیرد. برای این کار، در فایل تنظیمات SSH، مقدار Port
را به شماره پورت دلخواه خود تغییر دهید:
Port 2222
سپس، سرویس SSH را مجدداً راهاندازی کنید:
sudo systemctl restart sshd
نتیجهگیری
اتصال به سرور با استفاده از کلید SSH یکی از امنترین و راحتترین روشها برای مدیریت از راه دور سرورهاست. با استفاده از این روش، میتوانید از امنیت ارتباطات خود اطمینان حاصل کنید و دسترسی امن به سرورهای خود را فراهم کنید. در این مقاله، مراحل ایجاد کلید SSH، انتقال کلید عمومی به سرور و اتصال به سرور با استفاده از کلید SSH را بررسی کردیم. همچنین، نکاتی برای افزایش امنیت SSH ارائه شد.
با رعایت این نکات و مراحل، میتوانید ارتباطات امن و موثری با سرورهای خود داشته باشید و از حملات امنیتی جلوگیری کنید.