اطلاعات تماس

تهران ، آیت الله کاشانی ، پلاک 160 واحد 27

92001474 - 021

info@negarnovin.com

ناحیه کاربری
اتصال به سرور با ssh key

اتصال به سرور با کلید 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 ارائه شد.

با رعایت این نکات و مراحل، می‌توانید ارتباطات امن و موثری با سرورهای خود داشته باشید و از حملات امنیتی جلوگیری کنید.

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

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