SSH یا Secure Shell رایجترین روش برای اتصال امن به سرورهای لینوکسی و مدیریت آنها از راه دور است. وصل شدن به یک سرور با یک دستور ساده کار سختی نیست، اما وقتی با چندین سرور مختلف کار میکنید، وارد کردن مداوم یوزرنیم، پورت، کلیدها و تنظیمات خاص هر سرور، هم وقتگیر است هم اعصابخردکن.
اینجاست که فایل تنظیمات SSH Client وارد صحنه میشود. در OpenSSH (کلاینت پیشفرض SSH در اکثر سیستمها)، میتوانید برای هر سرور تنظیمات اختصاصی تعریف کنید و همه را داخل یک فایل نگه دارید. نتیجه؟ اتصال سریعتر، خطای کمتر، و یک ورکفلو حرفهای.
پیشنیازها
برای استفاده درست از این قابلیتها بهتر است:
-
با SSH و نحوه اتصال به سرور آشنا باشید
-
مفهوم پورت، یوزر و هاست را بدانید
-
ترجیحاً احراز هویت با SSH Key را روی حداقل یک سرور راهاندازی کرده باشید
محل فایل تنظیمات SSH
فایل تنظیمات سمت کلاینت اینجاست:
علامت ~ یعنی پوشه Home کاربر. این فایل معمولاً بهصورت پیشفرض وجود ندارد و میتوانید آن را بسازید:
ساختار فایل config در SSH
این فایل بر اساس Hostها (یعنی سرورها) دستهبندی میشود. برای هر سرور یا گروهی از سرورها میتوانید تنظیمات جداگانه تعریف کنید.
ساختار کلی:
مثال:
حالا فقط کافی است بنویسید:
و تمام این تنظیمات خودکار اعمال میشود.
الگوریتم خواندن فایل توسط SSH (خیلی مهم)
SSH فایل را از بالا به پایین میخواند.
-
هر بخش که Host آن با نامی که شما در دستور ssh نوشتید match شود، بررسی میشود.
-
برای هر گزینه (Option)، اولین مقداری که پیدا شود استفاده میشود.
-
مقادیر بعدی برای همان Option نادیده گرفته میشوند.
نتیجه مهم:
تنظیمات اختصاصیتر باید بالاتر باشند و تنظیمات عمومیتر مثل Host * پایینتر.
مثال:
گزینههای پایه اتصال
اینها اصلیترین گزینهها هستند:
| گزینه | توضیح |
|---|---|
| HostName | آدرس واقعی سرور |
| User | نام کاربری برای اتصال |
| Port | پورت SSH (اگر 22 نباشد) |
تنظیمات عمومی و کاربردی
1️⃣ بررسی زنده بودن اتصال
هر 120 ثانیه یک پکت تست میفرستد تا مطمئن شود ارتباط قطع نشده.
2️⃣ سطح لاگها
سطوح مختلف دارد:
QUIET → FATAL → ERROR → INFO → VERBOSE → DEBUG1 → DEBUG2 → DEBUG3
3️⃣ بررسی کلید سرور
مشخص میکند وقتی کلید سرور تغییر کند چه رفتاری انجام شود.
حالت no راحت است ولی از نظر امنیتی ریسک دارد.
4️⃣ فایل known_hosts
محل ذخیره اطلاعات سرورهایی که به آنها وصل شدهاید.
5️⃣ نمایش تصویری کلید سرور
نمایش ASCII از کلید سرور. برای تشخیص سریع تغییر کلید مفید است.
نمونه تنظیم حرفهای
Port Forwarding در SSH
SSH فقط برای شل نیست، تونل شبکه هم میسازد.
فوروارد لوکال
پورت 8080 لوکال → پورت 80 سرور مقصد
فوروارد ریموت
پورت 7777 روی سرور → پورت 443 روی سیستم شما
فوروارد داینامیک (SOCKS Proxy)
فوروارد کلید و محیط گرافیکی
| گزینه | کاربرد |
|---|---|
| ForwardAgent yes | استفاده از SSH Keyهای سیستم شما روی سرور |
| ForwardX11 yes | اجرای برنامه گرافیکی سرور روی سیستم شما |
مدیریت کلیدهای SSH
وقتی برای هر سرور کلید جدا دارید، این بخش نجاتدهنده است.
جمعبندی
فایل ~/.ssh/config باعث میشود:
-
دستورات SSH کوتاه شوند
-
خطاهای انسانی کم شود
-
کار با چندین سرور ساده شود
-
فورواردینگ، کلیدها و تنظیمات امنیتی حرفهای مدیریت شوند
اگر زیاد با سرور کار میکنید و هنوز این فایل را جدی نگرفتهاید، دارید وقت زندگیتان را دور میریزید.

