رفتن به محتوای اصلی
دیدگاه کلود | ارائه‌کننده سرورهای ابری و اختصاصی
آموزش تنظیم گزینه‌های سفارشی اتصال در SSH Client

آموزش تنظیم گزینه‌های سفارشی اتصال در SSH Client

SSH یا Secure Shell رایج‌ترین روش برای اتصال امن به سرورهای لینوکسی و مدیریت آن‌ها از راه دور است. وصل شدن به یک سرور با یک دستور ساده کار سختی نیست، اما وقتی با چندین سرور مختلف کار می‌کنید، وارد کردن مداوم یوزرنیم، پورت، کلیدها و تنظیمات خاص هر سرور، هم وقت‌گیر است هم اعصاب‌خردکن.

SSH یا Secure Shell رایج‌ترین روش برای اتصال امن به سرورهای لینوکسی و مدیریت آن‌ها از راه دور است. وصل شدن به یک سرور با یک دستور ساده کار سختی نیست، اما وقتی با چندین سرور مختلف کار می‌کنید، وارد کردن مداوم یوزرنیم، پورت، کلیدها و تنظیمات خاص هر سرور، هم وقت‌گیر است هم اعصاب‌خردکن.

اینجاست که فایل تنظیمات SSH Client وارد صحنه می‌شود. در OpenSSH (کلاینت پیش‌فرض SSH در اکثر سیستم‌ها)، می‌توانید برای هر سرور تنظیمات اختصاصی تعریف کنید و همه را داخل یک فایل نگه دارید. نتیجه؟ اتصال سریع‌تر، خطای کمتر، و یک ورک‌فلو حرفه‌ای.


پیش‌نیازها

برای استفاده درست از این قابلیت‌ها بهتر است:

  • با SSH و نحوه اتصال به سرور آشنا باشید

  • مفهوم پورت، یوزر و هاست را بدانید

  • ترجیحاً احراز هویت با SSH Key را روی حداقل یک سرور راه‌اندازی کرده باشید


محل فایل تنظیمات SSH

فایل تنظیمات سمت کلاینت اینجاست:

 
~/.ssh/config

علامت ~ یعنی پوشه Home کاربر. این فایل معمولاً به‌صورت پیش‌فرض وجود ندارد و می‌توانید آن را بسازید:

 
touch ~/.ssh/config

ساختار فایل config در SSH

این فایل بر اساس Host‌ها (یعنی سرورها) دسته‌بندی می‌شود. برای هر سرور یا گروهی از سرورها می‌توانید تنظیمات جداگانه تعریف کنید.

ساختار کلی:

 
Host alias-name Option value Option value

مثال:

 
Host myserver HostName example.com User apollo Port 4567 IdentityFile ~/.ssh/mykey.pem

حالا فقط کافی است بنویسید:

 
ssh myserver

و تمام این تنظیمات خودکار اعمال می‌شود.


الگوریتم خواندن فایل توسط SSH (خیلی مهم)

SSH فایل را از بالا به پایین می‌خواند.

  • هر بخش که Host آن با نامی که شما در دستور ssh نوشتید match شود، بررسی می‌شود.

  • برای هر گزینه (Option)، اولین مقداری که پیدا شود استفاده می‌شود.

  • مقادیر بعدی برای همان Option نادیده گرفته می‌شوند.

نتیجه مهم:
تنظیمات اختصاصی‌تر باید بالاتر باشند و تنظیمات عمومی‌تر مثل Host * پایین‌تر.

مثال:

 
Host server1 User ali Host * ServerAliveInterval 120 LogLevel INFO

گزینه‌های پایه اتصال

این‌ها اصلی‌ترین گزینه‌ها هستند:

گزینهتوضیح
HostNameآدرس واقعی سرور
Userنام کاربری برای اتصال
Portپورت SSH (اگر 22 نباشد)

تنظیمات عمومی و کاربردی

1️⃣ بررسی زنده بودن اتصال

 
ServerAliveInterval 120

هر 120 ثانیه یک پکت تست می‌فرستد تا مطمئن شود ارتباط قطع نشده.


2️⃣ سطح لاگ‌ها

 
LogLevel INFO

سطوح مختلف دارد:
QUIET → FATAL → ERROR → INFO → VERBOSE → DEBUG1 → DEBUG2 → DEBUG3


3️⃣ بررسی کلید سرور

 
StrictHostKeyChecking ask

مشخص می‌کند وقتی کلید سرور تغییر کند چه رفتاری انجام شود.
حالت no راحت است ولی از نظر امنیتی ریسک دارد.


4️⃣ فایل known_hosts

 
UserKnownHostsFile ~/.ssh/known_hosts

محل ذخیره اطلاعات سرورهایی که به آن‌ها وصل شده‌اید.


5️⃣ نمایش تصویری کلید سرور

 
VisualHostKey yes

نمایش ASCII از کلید سرور. برای تشخیص سریع تغییر کلید مفید است.


نمونه تنظیم حرفه‌ای

 
Host home VisualHostKey yes Host cloud* StrictHostKeyChecking no UserKnownHostsFile /dev/null LogLevel QUIET Host * StrictHostKeyChecking ask UserKnownHostsFile ~/.ssh/known_hosts LogLevel INFO ServerAliveInterval 120

Port Forwarding در SSH

SSH فقط برای شل نیست، تونل شبکه هم می‌سازد.

فوروارد لوکال

 
LocalForward 8080 example.com:80

پورت 8080 لوکال → پورت 80 سرور مقصد


فوروارد ریموت

 
RemoteForward 7777 internal.com:443

پورت 7777 روی سرور → پورت 443 روی سیستم شما


فوروارد داینامیک (SOCKS Proxy)

 
DynamicForward 1080

فوروارد کلید و محیط گرافیکی

گزینهکاربرد
ForwardAgent yesاستفاده از SSH Keyهای سیستم شما روی سرور
ForwardX11 yesاجرای برنامه گرافیکی سرور روی سیستم شما

مدیریت کلیدهای SSH

 
IdentityFile ~/.ssh/server1.pem IdentitiesOnly yes

وقتی برای هر سرور کلید جدا دارید، این بخش نجات‌دهنده است.


جمع‌بندی

فایل ~/.ssh/config باعث می‌شود:

  • دستورات SSH کوتاه شوند

  • خطاهای انسانی کم شود

  • کار با چندین سرور ساده شود

  • فورواردینگ، کلیدها و تنظیمات امنیتی حرفه‌ای مدیریت شوند

اگر زیاد با سرور کار می‌کنید و هنوز این فایل را جدی نگرفته‌اید، دارید وقت زندگی‌تان را دور می‌ریزید.