SSH — پوستهٔ امن

مدیریت امن سرورها از راه دور. پس از تبادل کلید، همه چیز رمز است و هویت سرور با کلید میزبان و هویت کاربر با کلید عمومی یا رمز اثبات می‌شود.

  • لایهٔ OSI: 7 (کاربرد)
  • انتقال: TCP
  • پورت: 22
  • استاندارد: RFC 4253
  • سطح: متوسط · حدود 8 دقیقه

نکته‌های کلیدی

  • SSH جایگزین امن Telnet برای مدیریت راه دور است.
  • اولین اتصال، اثرانگشت کلید میزبان را ذخیره می‌کند؛ تغییر آن نشانهٔ احتمالی حملهٔ مرد میانی است.
  • احراز با کلید عمومی امن‌تر از رمز است؛ SSH تونل پورت و SFTP هم دارد.

مراحل شبیه‌سازی (8 بسته)

  1. نسخه: هر دو طرف یک خط متنی نسخه می‌فرستند.
  2. نسخهٔ سرور: سرور نسخهٔ خود را اعلام می‌کند.
  3. KEXINIT: فهرست الگوریتم‌های پیشنهادی برای تبادل کلید، کلید میزبان، رمز و MAC به ترتیب اولویت.
  4. ECDH_INIT: کلاینت کلید عمومی موقت Curve25519 خود را می‌فرستد.
  5. ECDH_REPLY: سرور کلید موقت خود و کلید میزبان را می‌فرستد و چکیدهٔ تبادل را امضا می‌کند. کلاینت اثرانگشت را با known_hosts مقایسه می‌کند.
  6. NEWKEYS: از این پیام به بعد همه چیز با کلیدهای جدید رمز می‌شود.
  7. احراز با کلید: کاربر با کلید Ed25519 خود احراز می‌شود و هیچ رمزی ارسال نمی‌شود.
  8. پوسته: یک کانال «session» باز و ترمینال تعاملی اجرا می‌شود. هر کلید فشرده‌شده یک بستهٔ رمزشده است.

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

  • TLS 1.3 — امنیت لایهٔ انتقال
  • WireGuard — VPN مدرن و سبک
  • IPsec — امنیت پروتکل اینترنت
  • DNSSEC — امنیت امضای DNS
  • FTP — پروتکل انتقال فایل
  • SMB — اشتراک فایل ویندوز
  • TFTP — انتقال سادهٔ فایل
  • Telnet — ترمینال راه دور ناامن