Future ForgeFuture ForgeFuture ForgeFuture Forge
ServicesWorkPackagesFree toolsNotesAboutContact
Start
  1. Home
  2. /Notes
Future ForgeFuture Forge

Product engineering studio — design, build, and deploy software.

Discuss your project

Contact

hello@futureforge.ir09128464105
Future ForgeFuture Forge

Product engineering studio — design, build, and deploy software.

Services

Product engineeringFull-stack engineeringEngineering auditArchitecture consultingInfrastructure and deploymentAI in the product

Explore

WorkNotesFAQPackages

Free tools

Engineering auditArchitecture advisorProject estimatorPrompt tool

Company

AboutContactPrivacyTerms of use

Discuss your project

Describe the problem and the constraints. If there is a fit, we will schedule a conversation.

Discuss your project

Contact

hello@futureforge.ir09128464105
GitHubLinkedIn

© 2026 FutureForge. All rights reserved.

HomeServicesFree toolsStart
Operations

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

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

SE
Soheil Ebrahimpour

Founder & product engineer

·Sep 20, 2026·4 min read
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

Author

SE

Soheil Ebrahimpour is the founder of FutureForge. He works on product design, architecture, and getting custom software into production.

Related notes

Related notes

Categories

Related services

From note to project

If this topic is close to your product or system, we can talk about the real scope.

If you are unsure about architecture or the build path, we can talk about the project.

Describe the problem and the constraints. If there is a fit, we will schedule a conversation.

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

Operations

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

Sep 20, 2026

Operations

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

Sep 20, 2026

Operations

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

Sep 20, 2026

Operations

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

Sep 20, 2026

Operations

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

Sep 20, 2026
All notes219
Software architecture13
Glossary37
Operations87
Product engineering74
Web guide8
Product engineering
Full-stack engineering
Engineering audit
Architecture consulting
Infrastructure and deployment
Discuss your project
Free tools
Discuss your project