رفتن به محتوای اصلی
iServer24 | ارائه‌کننده سرورهای ابری و اختصاصی
آموزش تنظیم گزینه‌های سفارشی اتصال در 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‌ها (یعنی سرورها) دسته‌بندی می‌شود. برای هر سرور یا گروهی از سرورها می‌توانید تنظیمات جداگانه تعریف کنید.

ساختار کلی:

3 خط
Host alias-name
    Option value
    Option value
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

مثال:

5 خط
Host myserver
    HostName example.com
    User apollo
    Port 4567
    IdentityFile ~/.ssh/mykey.pem
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

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

ssh myserver
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

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


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

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

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

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

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

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

مثال:

6 خط
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 از کلید سرور. برای تشخیص سریع تغییر کلید مفید است.


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

13 خط
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 فقط برای شل نیست، تونل شبکه هم می‌سازد. برای راهنمای کامل، مقاله آشنایی کامل با SSH Port Forwarding (تونل‌سازی 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

2 خط
IdentityFile ~/.ssh/server1.pem
IdentitiesOnly yes
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

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


جمع‌بندی

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

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

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

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

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

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

زیرساخت ابری برای اجرای همین آموزش

سرور ابری ساعتی را برای Docker، Ubuntu و DevOps راه‌اندازی کنید — پرداخت به میزان مصرف یا ماهانه.

ادامه یادگیری:Docker·Ubuntu·VPS