**اس اس اچ-ایجنت: اس اس اچ (اس‌اس‌اچ)** (به انگلیسی: ssh-agent) یک پروتکل است که با استفاده از رمزنگاری کلید عمومی امکان ورود از راه دور ایمن به یک کامپیوتر در شبکه را می‌دهد. برنامه‌های سرویس گیرنده اس‌اس‌اچ (مانند `اس‌اس‌اچ` از اوپن اس اس اچ) معمولاً برای مدتی که به سیستم از راه دور وارد می‌شوند، به گونه ای پیکربندی می‌شوند که کلید خصوصی کاربر را در یک فایل در فهرست اصلی کاربر جستجو کنند (به عنوان مثال، `.اس‌اس‌اچ/id_rsa`). برای امنیت بیشتر (به عنوان مثال، در برابر مهاجمی که می‌تواند هر فایلی را در سیستم فایل محلی بخواند)، معمولاً کلید خصوصی را به شکل رمزگذاری شده ذخیره می‌کنند، جایی که کلید رمزگذاری از روی عبارت عبوری که کاربر به خاطر سپرده‌است محاسبه می‌شود. از آنجا که تایپ عبارت عبور می‌تواند خسته کننده باشد، بسیاری از کاربران ترجیح می‌دهند آن را فقط یک بار در هر جلسه ورود به سیستم محلی وارد کنند. امن‌ترین مکان برای ذخیره کلید رمزگذاری نشده در حافظه برنامه است و در سیستم عامل‌های مشابه یونیکس، حافظه معمولاً با یک فرایند مرتبط است. یک فرایند کلاینت معمولی اس اس اچ را نمی‌توان برای ذخیره کلید رمزگذاری نشده استفاده کرد زیرا فرآیندهای کلاینت اس‌اس‌اچ فقط مدت یک جلسه ورود از راه دور دوام می‌آورند؛ بنابراین، کاربران برنامه ای به نام **اس اس اچ-ایجنت** را اجرا می‌کنند که بیش از مدت زمان یک جلسه ورود به سیستم محلی اجرا می‌شود، کلیدهای رمزگذاری نشده را در حافظه ذخیره می‌کند و با استفاده از سوکت دامنه یونیکس با مشتریان اس اس اچ ارتباط برقرار می‌کند.

مسائل امنیتی
------------

اس‌اس‌اچ-ایجنت یک سوکت ایجاد می‌کند و سپس اتصالات را از `اس‌اس‌اچ` بررسی می‌کند. همه افرادی که قادر به اتصال به این سوکت هستند به `اس‌اس‌اچ-ایجنت` نیز دسترسی دارند. مجوزها مانند یک سیستم لینوکس یا یونیکس معمولی تنظیم می‌شوند. هنگامی که عامل شروع می‌شود، یک دایرکتوری جدید در `/tmp` با مجوزهای محدود ایجاد می‌کند. سوکت در این دایرکتوری قرار دارد.

رویه‌ای وجود دارد که ممکن است از استفاده بدافزار از سوکت `اس‌اس‌اچ-ایجنت` جلوگیری کند. اگر هنگام وارد کردن کلیدها به `اس‌اس‌اچ-ایجنت` گزینه `ssh -add -c` تنظیم شود، هر زمان که `اس‌اس‌اچ` سعی در اتصال داشته باشد، عامل با استفاده از برنامه مشخص شده توسط متغیر محیطی `اس‌اس‌اچ_ASKPASS` از کاربر تأییدیه درخواست می‌کند.

**اس اس اچ-ایجنت** را می‌توان به سروری که به آن متصل می‌شوید ارسال کرد و کلیدهای آن‌ها را در آنجا نیز برای اتصالات دیگر در دسترس قرار داد. در سیستم محلی، مهم است که کاربر ریشه قابل اعتماد باشد، زیرا کاربر root می‌تواند، از جمله موارد دیگر، فقط فایل کلید را مستقیماً بخواند. در سیستم راه دور، اگر اتصال `اس‌اس‌اچ-ایجنت` فوروارد شود، همچنین مهم است که کاربر ریشه در طرف دیگر قابل اعتماد باشد، زیرا می‌تواند به سوکت عامل روی کنترل از راه دور دسترسی داشته باشد (البته نه کلید، که محلی می‌ماند).

پیاده‌سازی‌ها
-------------

برنامه‌های مختلف زیادی وجود دارند که عملکردهای مشابه اوپن اس اس اچ را انجام می‌دهند، برخی با رابط‌های کاربری بسیار متفاوت. برای مثال پوتی از یک رابط کاربری گرافیکی در اس‌اس‌اچ-ایجنت پوتی همراه خود استفاده می‌کند.

ابزارهایی وجود دارند که برای ارائه عملکرد عامل کلید برای کلیدهای متقارن و نامتقارن طراحی شده‌اند. اینها معمولاً عملکرد **اس اس اچ-ایجنت** را به عنوان یکی از رابط‌های کاربردی خود ارائه می‌دهند. به عنوان مثال می‌توان به کلید گنوم و کیف کی اشاره کرد.

برخی از کلاینت‌های اس اس اچ یکپارچه شامل توانایی به خاطر سپردن عبارات عبور اس اس اچ در طول جلسات هستند. مثال‌ها عبارتند از: سی‌آرتی‌امن.

### مک او اس اپل

در سیستم عامل مک او اس، **اس اس اچ-ایجنت** از زمان لپوپارد نسخه ۱۰٫۵ در سال ۲۰۰۷ یکپارچه شده‌است. اجرای **اس اس اچ-ایجنت** منبع باز شخص ثالث قبلاً در دسترس بود.

### ویندوز مایکروسافت

برنامه‌های سرویس گیرنده و سرور مبتنی بر اوپن‌اس‌اس‌اچ از نسخه ۱۸۰۳ در ویندوز ۱۰ گنجانده شده‌اند. کلاینت اس‌اس‌اچ و عامل کلید به‌طور پیش فرض فعال و در دسترس هستند و سرور اس‌اس‌اچ یک ویژگی اختیاری بر حسب تقاضا است.

منابع
-----

1. ↑  Dribin, Dave (21 August 2007). "SSHKeychain Warning". *Dave Dribin's Blog*.
2. ↑  "What's new for the Command Line in Windows 10 version 1803". 8 March 2018.
3. ↑  "Using the OpenSSH Beta in Windows 10 Fall Creators Update and Windows Server 1709". 15 December 2017.

درگاه‌ها:فناوریرایانهاینترنت