Future ForgeFuture ForgeFuture ForgeFuture Forge
خدماتنمونه‌کارهاپکیج‌هاابزارهای رایگانیادداشت‌هادرباره ماتماس
شروع پروژه
  1. خانه
  2. /یادداشت‌ها
Future ForgeFuture Forge

استودیوی مهندسی محصول — طراحی، ساخت و استقرار نرم‌افزار.

پروژه‌تان را مطرح کنید

ارتباط

hello@futureforge.ir09128464105
Future ForgeFuture Forge

استودیوی مهندسی محصول — طراحی، ساخت و استقرار نرم‌افزار.

خدمات

طراحی و ساخت محصولتوسعه فول‌استکممیزی مهندسیمشاوره معماریزیرساخت و استقرارهوش مصنوعی در محصول

کاوش

نمونه‌کارهایادداشت‌هاپرسش‌هاپکیج‌ها

ابزارهای رایگان

ممیزی مهندسیمشاور معماریتخمین پروژهابزار پرامپت

شرکت

درباره ماتماسحریم خصوصیشرایط استفاده

پروژه‌تان را مطرح کنید

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

پروژه‌تان را مطرح کنید

ارتباط

hello@futureforge.ir09128464105
GitHubLinkedIn

© 2026 FutureForge. همه حقوق محفوظ است.

خانهخدماتابزارهای رایگانشروع پروژه
عملیات و استقرار

SSH چیست؟ دسترسی امن از راه دور به سرور لینوکس

SSH چگونه نشست رمزشده می‌سازد، تفاوت کلاینت و sshd، جایگزینی telnet، و کاربردهای پوسته، کپی فایل و تونل.

سا
سهیل ابراهیم‌پور

بنیان‌گذار و مهندس محصول

·۲۹ شهریور ۱۴۰۵·4 دقیقه مطالعه
SSH چیستOpenSSHsshdremote accessscpsftpport 22
پرامپت پسورد SSH و استیکی SSH

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

نسخهٔ رایجی که روی اوبونتو و اکثر توزیع‌ها می‌بینید OpenSSH است: کلاینت `ssh` روی لپ‌تاپ شما و شنوندهٔ `sshd` روی سرور. مقالات بعدی کلیدها و سخت‌سازی را پوشش می‌دهند؛ اینجا خود مفهوم و جریان اتصال.

جریان Client به Server از تونل SSH

پاسخ کوتاه

SSH پروتکل دسترسی امن از راه دور است که محرمانگی، یکپارچگی و احراز هویت را برای نشست تعاملی، اجرای فرمان، و انتقال فایل (scp/sftp) فراهم می‌کند. به‌صورت پیش‌فرض روی پورت TCP 22 گوش می‌دهد. جایگزین امن ابزارهای قدیمی مثل telnet و rsh است که رمز را واضح می‌فرستادند.

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

چه چیزی را جایگزین کرد؟

telnet و ابزارهای مشابه فرمان و گذرواژه را روی شبکه آشکار می‌فرستادند. هر sniffer در مسیر می‌توانست به نشست برسد. SSH با تبادل کلید و رمزنگاری نشست این سطح حمله را می‌بندد و هم‌زمان مدل «پوسته از راه دور» را که مدیران می‌خواستند حفظ می‌کند.

اجزای اصلی

  • کلاینت ssh: از ماشین شما اتصال را آغاز می‌کند.
  • سرور sshd: روی میزبان مقصد گوش می‌دهد و پس از احراز هویت نشست می‌سازد.
  • کلید میزبان (host key): هویت سرور را ثابت می‌کند تا به man-in-the-middle ساده‌لوحانه نخورید.
  • احراز هویت کاربر: گذرواژه، کلید عمومی، گواهی، یا روش‌های دیگر.

bash

ssh user@server.example.com ssh -p 22 user@203.0.113.10

جریان اتصال به زبان ساده

  1. کلاینت به پورت SSH وصل می‌شود و نسخه‌پروتکل رد و بدل می‌شود.
  2. تبادل کلید و توافق الگوریتم؛ کانال امن می‌شود.
  3. سرور با host key شناخته می‌شود؛ کلاینت اثرانگشت را با known_hosts مقایسه می‌کند.
  4. کاربر احراز هویت می‌شود (مثلاً کلید یا رمز).
  5. نشست پوسته، فرمان دوردست، یا زیرسیستم SFTP روی کانال‌ها باز می‌شود.

اولین اتصال معمولاً از شما می‌خواهد host key را تأیید کنید. تأیید کورکورانه روی شبکهٔ غیرقابل‌اعتماد خطرناک است؛ اثرانگشت را از کانال جدا (پنل ابر، console) چک کنید.

bash

ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

کاربردهای روزمره فراتر از پوسته

bash

ssh user@host 'uptime' scp ./app.tar.gz user@host:/tmp/ sftp user@host ssh -L 8080:127.0.0.1:8080 user@host

اجرای یک فرمان بدون نشست تعاملی، کپی فایل، SFTP، و port forwarding برای رسیدن امن به سرویسی که فقط روی localhost سرور گوش می‌دهد — همه روی همان پروتکل.

OpenSSH روی اوبونتو

bash

sudo apt install openssh-client sudo apt install openssh-server systemctl status ssh

طبق مستندات اوبونتو، پیکربندی اصلی در /etc/ssh/sshd_config است و Include برای فایل‌های /etc/ssh/sshd_config.d/*.conf در ابتدای فایل می‌آید؛ چون OpenSSH معمولاً اولین مقدار را برای هر کلید نگه می‌دارد، محتوای drop-in می‌تواند رفتار را عوض کند — نکته‌ای حیاتی برای سخت‌سازی.

امنیت در یک نگاه (قبل از harden)

  • رمزنگاری نشست ≠ پیکربندی امن. رمز ضعیف یا root با password هنوز خطر است.
  • پورت غیر۲۲ امنیت واقعی نیست؛ فقط نویز اسکنر کم‌عمق را کم می‌کند.
  • کلید میزبان را جدی بگیرید؛ هشدار تغییر host key را نادیده نگیرید.

چه زمانی SSH کافی نیست؟

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

اشتباه‌های رایج تازه‌کار

  • باز گذاشتن password روی اینترنت بدون محدودیت.
  • استفاده از یک کاربر مشترک با کلید روی همهٔ لپ‌تاپ‌ها.
  • غیرفعال کردن SSH قبل از اطمینان از دسترسی console.
  • کپی کردن private key داخل ایمیج داکر یا مخزن git.

خلاصه

SSH کانال امن مدیریت از راه دور است؛ OpenSSH پیاده‌سازی رایج آن روی لینوکس. پوسته، فرمان، فایل و تونل روی یک پروتکل سوار می‌شوند. قدم بعدی منطقی: ساخت و مدیریت کلیدها، سپس سخت‌سازی sshd بر اساس مستندات رسمی.

سوالات متداول

آیا SSH فقط برای لینوکس است؟

خیر. کلاینت و سرور روی ویندوز و مک هم هست؛ سرورهای لینوکس مقصد بسیار رایجی‌اند.

فرق SSH و VPN؟

VPN معمولاً کل شبکه یا بخش بزرگی را تونل می‌کند؛ SSH نشست/تونل نقطه‌ای می‌سازد. گاهی هر دو با هم استفاده می‌شوند.

منابع و مراجع

  • OpenSSH manual pages: https://www.openssh.com/manual.html
  • Ubuntu Server — OpenSSH server: https://documentation.ubuntu.com/server/how-to/security/openssh-server/
  • ssh(1) OpenBSD man: https://man.openbsd.org/ssh.1
  • sshd(8): https://man.openbsd.org/sshd.8

نویسنده

سا

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

یادداشت‌های مرتبط

یادداشت‌های مرتبط

دسته‌بندی‌ها

خدمات مرتبط

از یادداشت تا پروژه

اگر موضوع این مقاله به سیستم یا محصول شما نزدیک است، می‌توانیم درباره دامنه واقعی صحبت کنیم.

اگر در انتخاب معماری یا مسیر توسعه مطمئن نیستید، می‌توانید درباره پروژه صحبت کنیم.

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

سهیل ابراهیم‌پور
یادداشت‌ها
Logging چیست؟ ثبت رویداد برای تشخیص و پاسخ به حادثه
تعیین اندازهٔ سرور: RAM، CPU و Storage بر اساس Workload
Docker در برابر Kubernetes؛ مقایسهٔ دقیق نه شعار
چرا همیشه به Kubernetes نیاز ندارید؟
Kubernetes چیست؟ اجرای مقاوم workloadهای کانتینری

عملیات و استقرار

Logging چیست؟ ثبت رویداد برای تشخیص و پاسخ به حادثه

۲۹ شهریور ۱۴۰۵

عملیات و استقرار

تعیین اندازهٔ سرور: RAM، CPU و Storage بر اساس Workload

۲۹ شهریور ۱۴۰۵

عملیات و استقرار

Docker در برابر Kubernetes؛ مقایسهٔ دقیق نه شعار

۲۹ شهریور ۱۴۰۵

عملیات و استقرار

چرا همیشه به Kubernetes نیاز ندارید؟

۲۹ شهریور ۱۴۰۵

عملیات و استقرار

Kubernetes چیست؟ اجرای مقاوم workloadهای کانتینری

۲۹ شهریور ۱۴۰۵
همه یادداشت‌ها219
معماری نرم‌افزار13
واژه‌نامه37
عملیات و استقرار87
مهندسی محصول74
راهنمای وب8
طراحی و ساخت محصول
توسعه فول‌استک
ممیزی مهندسی
مشاوره معماری
زیرساخت و استقرار
پروژه‌تان را مطرح کنید
ابزارهای رایگان
پروژه‌تان را مطرح کنید