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

آموزش اتصال به سرور ریموت با SSH (راهنمای گام‌به‌گام)

SSH یا Secure Shell ستون فقرات مدیریت امن سرورهای لینوکسی است. با SSH می‌توانید از راه دور به سرور وصل شوید، دستورات اجرا کنید، فایل‌ها را منتقل کنید و حتی برنامه‌های گرافیکی را روی سیستم محلی اجرا کنید، همه از طریق یک کانال رمزنگاری‌شده.

مقدمه

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

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

در این آموزش از دیدگاه، به‌صورت مرحله‌به‌مرحله یاد می‌گیریم چگونه با استفاده از SSH به یک سرور ریموت متصل شویم و تنظیمات امنیتی آن را بهینه کنیم.


شروع سریع: اتصال به سرور با SSH در ۵ مرحله

  1. باز کردن ترمینال

    • در لینوکس و macOS: برنامه Terminal

    • در ویندوز: PowerShell، Git Bash یا WSL

  2. اجرای دستور SSH

     
    ssh username@server_ip
  3. تأیید اثر انگشت (Fingerprint) سرور
    در اولین اتصال، از شما خواسته می‌شود کلید سرور را تأیید کنید.

  4. احراز هویت

    • با رمز عبور

    • یا با کلید SSH (در صورت تنظیم)

  5. اتصال برقرار شد
    برای خروج از نشست SSH:

     
    exit

ساختار اصلی دستور SSH

فرم ساده دستور:

 
ssh remote_host

در این حالت، نام کاربری سیستم محلی شما با نام کاربر سرور یکسان فرض می‌شود.

اگر نام کاربری متفاوت است:

 
ssh remote_username@remote_host

remote_host می‌تواند IP سرور یا دامنه باشد.


SSH در ویندوز، لینوکس و مک

  • Linux / macOS
    دستور SSH به‌صورت پیش‌فرض در سیستم موجود است.

  • Windows

    • PowerShell با OpenSSH

    • Git Bash

    • Windows Subsystem for Linux (WSL)

تمام این روش‌ها به‌خوبی پشتیبانی می‌شوند و انتخاب آن‌ها کاملاً سلیقه‌ای است.


SSH چگونه کار می‌کند؟

SSH از دو بخش تشکیل شده است:

  • کلاینت (ssh) روی سیستم شما

  • سرور (sshd) روی سرور مقصد

در اغلب توزیع‌های لینوکس، سرویس sshd به‌صورت پیش‌فرض فعال است. اگر فعال نبود، می‌توان آن را اجرا کرد.

راه‌اندازی SSH در اوبونتو

 
sudo systemctl start ssh

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

فایل اصلی تنظیمات SSH در اوبونتو:

 
/etc/ssh/sshd_config

تهیه نسخه پشتیبان

 
sudo cp /etc/ssh/sshd_config{,.bak}

ویرایش فایل

 
sudo nano /etc/ssh/sshd_config

مهم‌ترین تنظیمات sshd_config

پورت اتصال

 
Port 22

پورت پیش‌فرض 22 است. تغییر آن باعث کاهش حملات خودکار می‌شود.


دسترسی کاربر root

 
PermitRootLogin no

برای امنیت بیشتر، ورود مستقیم root را غیرفعال کنید.


زمان انتظار ورود

 
LoginGraceTime 120

مدت زمانی که کاربر برای ورود فرصت دارد.


لاگ‌ها

 
LogLevel INFO

در صورت بروز مشکل می‌توانید سطح لاگ را افزایش دهید.


X11 Forwarding

 
X11Forwarding yes

برای اجرای برنامه‌های گرافیکی سرور روی سیستم محلی استفاده می‌شود.


اعمال تغییرات

 
sudo systemctl reload ssh

توصیه دیدگاه: هنگام تغییر تنظیمات SSH، حتماً یک نشست SSH دیگر باز نگه دارید تا در صورت خطا از سرور قفل نشوید.


مدیریت چند سرور با ~/.ssh/config

برای ساده‌سازی اتصال به چند سرور:

 
nano ~/.ssh/config

نمونه:

 
Host dev-server HostName 192.168.1.10 User devuser Port 2222 IdentityFile ~/.ssh/dev_key

اتصال:

 
ssh dev-server

ورود با کلید SSH (امن و حرفه‌ای)

مکانیزم احراز هویت با کلید

  • کلید خصوصی: فقط روی سیستم شما

  • کلید عمومی: روی سرور

سرور با کلید عمومی شما را شناسایی می‌کند، بدون ارسال رمز عبور.


ساخت کلید SSH

 
ssh-keygen -t rsa

کلیدها در مسیر زیر ساخته می‌شوند:

 
~/.ssh/id_rsa ~/.ssh/id_rsa.pub

سطح دسترسی صحیح فایل‌ها

 
chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub

انتقال کلید عمومی به سرور

 
ssh-copy-id remote_host

پس از آن، ورود بدون رمز عبور انجام می‌شود.


اجرای دستور روی سرور بدون ورود

 
ssh remote_host command

خطاهای رایج SSH و راه‌حل‌ها

خطاعلت احتمالیراه‌حل
Connection refusedsshd فعال نیستsystemctl start ssh
Permission deniedمجوز فایل‌ها اشتباه استاصلاح chmod
Timeoutفایروال یا شبکهبررسی پورت و DNS
Host key failedتغییر IPssh-keygen -R ip

غیرفعال‌سازی ورود با رمز عبور (توصیه امنیتی)

 
PasswordAuthentication no PubkeyAuthentication yes

سپس:

 
sudo systemctl reload ssh

هشدار: قبل از این کار، حتماً کلید SSH را تست کرده باشید.


چک‌لیست امنیت SSH از دیدگاه

  • غیرفعال کردن PasswordAuthentication

  • تغییر پورت پیش‌فرض

  • استفاده از SSH Key

  • PermitRootLogin no

  • محدودسازی دسترسی با فایروال

  • بروزرسانی منظم سیستم


پرسش‌های متداول

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

آیا SSH امن است؟
بله، مخصوصاً با کلید SSH، پورت غیرپیش‌فرض و تنظیمات صحیح.

آیا SSH در ویندوز هم قابل استفاده است؟
کاملاً. PowerShell، Git Bash و WSL همگی پشتیبانی می‌شوند.


جمع‌بندی

یادگیری و تسلط بر SSH یکی از ضروری‌ترین مهارت‌ها در مدیریت سرور و زیرساخت است. این ابزار سبک، امن و انعطاف‌پذیر سال‌هاست ستون اصلی مدیریت سرورهای لینوکسی محسوب می‌شود و همچنان انتخاب اول حرفه‌ای‌هاست.

آموزش از: دیدگاه