مقدمه
یکی از مهمترین ابزارهایی که هر مدیر سیستم یا ادمین سرور باید بهخوبی بر آن مسلط باشد، SSH است.
SSH یا Secure Shell پروتکلی امن برای اتصال و ورود به سیستمهای راهدور محسوب میشود و رایجترین روش دسترسی به سرورهای لینوکسی است. این پروتکل امکان مدیریت سرور، اجرای دستورات و انتقال اطلاعات را از طریق یک کانال رمزنگاریشده فراهم میکند.
در این آموزش از دیدگاه، بهصورت مرحلهبهمرحله یاد میگیریم چگونه با استفاده از SSH به یک سرور ریموت متصل شویم و تنظیمات امنیتی آن را بهینه کنیم.
شروع سریع: اتصال به سرور با SSH در ۵ مرحله
-
باز کردن ترمینال
-
در لینوکس و macOS: برنامه Terminal
-
در ویندوز: PowerShell، Git Bash یا WSL
-
-
اجرای دستور SSH
-
تأیید اثر انگشت (Fingerprint) سرور
در اولین اتصال، از شما خواسته میشود کلید سرور را تأیید کنید. -
احراز هویت
-
با رمز عبور
-
یا با کلید SSH (در صورت تنظیم)
-
-
اتصال برقرار شد
برای خروج از نشست SSH:
ساختار اصلی دستور SSH
فرم ساده دستور:
در این حالت، نام کاربری سیستم محلی شما با نام کاربر سرور یکسان فرض میشود.
اگر نام کاربری متفاوت است:
remote_host میتواند IP سرور یا دامنه باشد.
SSH در ویندوز، لینوکس و مک
-
Linux / macOS
دستور SSH بهصورت پیشفرض در سیستم موجود است. -
Windows
-
PowerShell با OpenSSH
-
Git Bash
-
Windows Subsystem for Linux (WSL)
-
تمام این روشها بهخوبی پشتیبانی میشوند و انتخاب آنها کاملاً سلیقهای است.
SSH چگونه کار میکند؟
SSH از دو بخش تشکیل شده است:
-
کلاینت (ssh) روی سیستم شما
-
سرور (sshd) روی سرور مقصد
در اغلب توزیعهای لینوکس، سرویس sshd بهصورت پیشفرض فعال است. اگر فعال نبود، میتوان آن را اجرا کرد.
راهاندازی SSH در اوبونتو
فایل تنظیمات SSH
فایل اصلی تنظیمات SSH در اوبونتو:
تهیه نسخه پشتیبان
ویرایش فایل
مهمترین تنظیمات sshd_config
پورت اتصال
پورت پیشفرض 22 است. تغییر آن باعث کاهش حملات خودکار میشود.
دسترسی کاربر root
برای امنیت بیشتر، ورود مستقیم root را غیرفعال کنید.
زمان انتظار ورود
مدت زمانی که کاربر برای ورود فرصت دارد.
لاگها
در صورت بروز مشکل میتوانید سطح لاگ را افزایش دهید.
X11 Forwarding
برای اجرای برنامههای گرافیکی سرور روی سیستم محلی استفاده میشود.
اعمال تغییرات
توصیه دیدگاه: هنگام تغییر تنظیمات SSH، حتماً یک نشست SSH دیگر باز نگه دارید تا در صورت خطا از سرور قفل نشوید.
مدیریت چند سرور با ~/.ssh/config
برای سادهسازی اتصال به چند سرور:
نمونه:
اتصال:
ورود با کلید SSH (امن و حرفهای)
مکانیزم احراز هویت با کلید
-
کلید خصوصی: فقط روی سیستم شما
-
کلید عمومی: روی سرور
سرور با کلید عمومی شما را شناسایی میکند، بدون ارسال رمز عبور.
ساخت کلید SSH
کلیدها در مسیر زیر ساخته میشوند:
سطح دسترسی صحیح فایلها
انتقال کلید عمومی به سرور
پس از آن، ورود بدون رمز عبور انجام میشود.
اجرای دستور روی سرور بدون ورود
خطاهای رایج SSH و راهحلها
| خطا | علت احتمالی | راهحل |
|---|---|---|
| Connection refused | sshd فعال نیست | systemctl start ssh |
| Permission denied | مجوز فایلها اشتباه است | اصلاح chmod |
| Timeout | فایروال یا شبکه | بررسی پورت و DNS |
| Host key failed | تغییر IP | ssh-keygen -R ip |
غیرفعالسازی ورود با رمز عبور (توصیه امنیتی)
سپس:
هشدار: قبل از این کار، حتماً کلید SSH را تست کرده باشید.
چکلیست امنیت SSH از دیدگاه
-
غیرفعال کردن PasswordAuthentication
-
تغییر پورت پیشفرض
-
استفاده از SSH Key
-
PermitRootLogin no
-
محدودسازی دسترسی با فایروال
-
بروزرسانی منظم سیستم
پرسشهای متداول
SSH چیست و چه کاربردی دارد؟
SSH برای مدیریت امن سرورها، اجرای دستورات، انتقال فایل و تونلسازی استفاده میشود.
آیا SSH امن است؟
بله، مخصوصاً با کلید SSH، پورت غیرپیشفرض و تنظیمات صحیح.
آیا SSH در ویندوز هم قابل استفاده است؟
کاملاً. PowerShell، Git Bash و WSL همگی پشتیبانی میشوند.
جمعبندی
یادگیری و تسلط بر SSH یکی از ضروریترین مهارتها در مدیریت سرور و زیرساخت است. این ابزار سبک، امن و انعطافپذیر سالهاست ستون اصلی مدیریت سرورهای لینوکسی محسوب میشود و همچنان انتخاب اول حرفهایهاست.
آموزش از: دیدگاه

