PuTTY CAC هو فرع من PuTTY، وهي محطة Secure Shell (SSH) الشهيرة. يضيف PuTTY CAC القدرة على استخدام Windows Certified API (CAPI) أو مكتبات معايير تشفير المفتاح العام (PKCS) أو مفاتيح Fast Identity Online (FIDO) لإجراء مصادقة المفتاح العام SSH باستخدام مفتاح خاص مرتبط بشهادة مخزنة على رمز الأجهزة.
يمكن استخدام PuTTY CAC مع العديد من أنواع الرموز المشفرة مثل Yubikeys ونماذج البطاقات الذكية الشائعة. يشير "CAC" في "PuTTY CAC" إلى بطاقة الوصول المشتركة، وهي رمز مميز للبطاقة الذكية يستخدم في منشآت الحكومة الأمريكية والتي كانت أحد المحركات الأولية لتطوير PuTTY CAC.
تتم صيانة PuTTY CAC بشكل مستقل عن حكومة الولايات المتحدة من خلال مجتمع المصادر المفتوحة.
يمكنك تنزيل أحدث إصدار من PuTTY CAC هنا: https://github.com/NoMoreFood/putty-cac/releases
كود مصدر PuTTY CAC والثنائيات مجانية للاستخدام لأي غرض. يمكن العثور على الترخيص هنا: https://github.com/NoMoreFood/putty-cac/blob/master/code/LICENCE
يمكنك العثور على مجموعة أساسية من التعليمات حول استخدام موقع إدارة الهوية التابع لحكومة الولايات المتحدة ضمن قسم "SSH باستخدام PuTTY-CAC":
https://playbooks.idmanagement.gov/piv/engineer/ssh/
يدعم PuTTY CAC نفس خيارات سطر الأوامر مثل PuTTY مع بعض الخيارات الإضافية المتخصصة لـ PuTTY CAC على وجه التحديد.
بدلاً من مسار ملف مفتاح PuTTY لأي أداة مساعدة من PuTTY، يمكنك تحديد بصمة الإبهام أو معرف التطبيق. على سبيل المثال:
putty.exe user@host -i CAPI:716B8B58D8F2C3A7F98F3F645161B1BF9818B689
putty.exe user@host -i PKCS:B8B58D8F2C3A7F98F3F645161B1BF9818B689716=C:PKCS.dll
putty.exe user@host -i FIDO:ssh:MyFidoKey
تدعم الملفات التنفيذية PuTTY (putty.exe وpageant.exe وpsftp.exe) خيارات سطر الأوامر الإضافية التالية. تركز معظم هذه الخيارات على تشغيل Pageant ويمكن أيضًا ضبطها من خلال واجهة المستخدم الخاصة بها. بمجرد تعيينها، سيتم تطبيق هذه الخيارات تلقائيًا على عمليات التنفيذ اللاحقة ما لم يتم إلغاء تعيينها على وجه التحديد. ستؤثر الإعدادات التي تقوم بتصفية مربعات حوار اختيار شهادة المسابقة أيضًا على مربعات حوار اختيار شهادة التصفية في تطبيق PuTTY القياسي:
-autoload
، -autoloadoff
-savecertlist
، -savecertlistoff
-forcepincache
، -forcepincacheoff
-certauthprompting
، -certauthpromptingoff
-trustedcertsonly
، -trustedcertsonlyoff
-ignoreexpiredcerts
، -ignoreexpiredcertsoff
-allowanycert
، -allowanycertoff
ولأغراض PuTTY CAC، تعد الشهادة ببساطة وسيلة مناسبة للإشارة إلى زوج مفاتيح خاص/عام. إذا كنت تريد استخدام PuTTY CAC لتسجيل الدخول بشكل آمن إلى نظامك وليس لديك حق الوصول إلى المرجع المصدق (CA)، فيمكن توقيع الشهادة ذاتيًا. على العكس من ذلك، يمكن استخدام PuTTY CAC مع خوادم SSH المُدارة لفرض مصادقة متعددة العوامل. يمكن القيام بذلك عن طريق التأكد من أن ملف OpenSSH Author_keys يحتوي فقط على المفاتيح العامة المرتبطة برموز الأجهزة إما من الناحية الإجرائية أو عن طريق إنشاء فهرس لجميع الشهادات الصادرة والبحث عنها من خلال توجيهات OpenSSH مثل AuthorizedKeysCommand.
يستخدم الكود المحدد المستخدم للتفاعل مع رمز الجهاز مكتبات التشفير لـ Microsoft والتي تخضع بدورها لإعدادات FIPS على مستوى النظام (راجع موقع Microsoft على الويب). وبالمثل، يتم ضمان استخدام رمز الجهاز المميز لتحديات المصادقة التوقيعية لاستخدام خوارزميات متوافقة مع FIPS إذا كان مفتاح الجهاز معتمدًا من FIPS؛ راجع موقع الويب الخاص بالشركة المصنعة للرمز المميز للجهاز لمزيد من المعلومات. يستخدم PuTTY نفسه تشفيرًا خاصًا وتجزئة بمجرد إنشاء جلسة SSH والتي لم تخضع للتقييم من أجل الامتثال لـ FIPS أو الاعتماد.