

Apache MINA SSHD هي مكتبة جافا نقية 100% لدعم بروتوكولات SSH على جانبي العميل والخادم. لا تهدف إلى أن تكون بديلاً عن عميل SSH أو خادم SSH من أنظمة تشغيل يونكس، بل توفر الدعم للتطبيقات القائمة على جافا التي تتطلب دعم SSH.
يمكن للمكتبة الاستفادة من عدة واجهات خلفية للإدخال/الإخراج:
AsynchronousSocketChannels الخاصة بجافا.server-sig-algs.supported - DRAFT 05 - القسم 4.4supported2 - DRAFT 13 القسم 5.4versions - DRAFT 09 القسم 4.6vendor-id - DRAFT 09 - القسم 4.4acl-supported - DRAFT 11 - القسم 5.4newline - DRAFT 09 القسم 4.3md5-hash, md5-hash-handle - DRAFT 09 - القسم 9.1.1check-file-handle, - eddsa), [email protected], [email protected]
, [email protected], [email protected], [email protected]
, [email protected], [email protected], [email protected]ملاحظة: تحتوي القائمة أعلاه على جميع إعدادات الأمان المدعومة في الكود. ومع ذلك، ووفقًا لأحدث التوصيات، يتضمن الإعداد الافتراضي للعميل/الخادم فقط إعدادات الأمان التي تُعتبر حاليًا آمنة للاستخدام. يجب على المستخدمين الذين يرغبون في تضمين الإعدادات غير الآمنة القيام بذلك بشكل صريح. تم إهمال الإعدادات التالية ولم تعد مدرجة في الإعداد الافتراضي:
تحذير: وفقًا لـ RFC 8332 - القسم 3.31
أظهرت تجربة التنفيذ وجود خوادم تفرض عقوبات مصادقة على العملاء الذين يحاولون استخدام خوارزميات المفتاح العام التي لا يدعمها خادم SSH.
عند المصادقة بمفتاح RSA ضد خادم لا ينفذ امتداد "server-sig-algs"، قد يلجأ العملاء افتراضيًا إلى توقيع "ssh-rsa" لتجنب عقوبات المصادقة. عندما يتم اعتماد خوارزميات rsa-sha2-* الجديدة على نطاق واسع بما يكفي لتبرير تعطيل "ssh-rsa"، قد يلجأ العملاء افتراضيًا إلى إحدى الخوارزميات الجديدة.
هذا يعني أن المستخدمين الذين يواجهون هذه المشكلة (والمشكلات ذات الصلة) يجب عليهم تعديل إعدادات الأمان المدعومة بشكل صريح لتجنب المشكلة.
إشعار خاص: تم إبقاء ssh-rsa كجزء من الإعداد الافتراضي نظرًا لوجود العديد من الأنظمة/المستخدمين
الذين ما زالوا يستخدمونه. ومع ذلك، سيتم إزالته من الإعداد الافتراضي في إصدار مستقبلي. لذلك نشجع المستخدمين بشدة على الانتقال
إلى مفاتيح أخرى (مثل ECDSA, ED25519) في أقرب وقت ممكن.
يمكن تقديم تقارير الأخطاء وطلبات التحسين أو الميزات في متتبع مشكلات GitHub أو في متتبع مشكلات Apache.
يجب الإبلاغ عن القضايا الحساسة مثل الثغرات الأمنية عبر القنوات الخاصة، وليس عبر أي من متتبعي المشكلات.
Java 8+ (اعتبارًا من الإصدار 1.3)
يتطلب الكود فقط وحدة slf4j-api الأساسية المجردة. يمكن اختيار التنفيذ الفعلي لواجهة برمجة تطبيقات التسجيل من بين العديد من المحولات الموجودة.
sshd-common - يحتوي على الفئات الأساسية المستخدمة في جميع أنحاء المشروع بالإضافة إلى الكود الذي لا يتطلب دعم شبكة من العميل أو الخادم.
sshd-core - يحتوي على كود SSH الأساسي للعميل/الخادم الذي ينفذ الاتصال والنقل والقنوات وإعادة التوجيه، إلخ.
sshd-sftp - يحتوي على النظام الفرعي SFTP من جانب الخادم وكود عميل SFTP.
sshd-scp - يحتوي على معالج أوامر SCP من جانب الخادم وكود عميل SCP.
sshd-ldap - يحتوي على أدوات مصادقة لكلمة المرور والمفتاح العام من جانب الخادم تستخدم خادم LDAP.
sshd-git - يحتوي على بدائل لمصنع جلسات SSH الخاص بـ JGit.
sshd-osgi - يحتوي على قطعة أثرية تجمع بين sshd-common و sshd-core بحيث يمكن نشرها في بيئات OSGi.
sshd-putty - يحتوي على كود يمكنه تحليل ملفات مفاتيح PUTTY.
sshd-openpgp - يحتوي على كود يمكنه تحليل ملفات مفاتيح OpenPGP (مع بعض القيود - انظر القسم ذي الصلة)
sshd-cli - يحتوي على قوالب بسيطة لعميل/خادم سطر الأوامر - تُستخدم لتوفير مظهر وملمس مشابه لأوامر Linux ssh/sshd.
sshd-contrib - كود تجريبي قيد المراجعة حاليًا وقد يجد طريقه إلى إحدى القطع الأثرية الأخرى (أو يصبح قطعة أثرية جديدة تمامًا - على سبيل المثال، تطور sshd-putty بهذه الطريقة).
بما في ذلك الاختبارات
mvn clean install
بدون اختبارات
mvn -Pquick clean install
check-file-namecopy-file, copy-data - DRAFT 00 - القسمان 6 و 7space-available - DRAFT 09 - القسم 9.2filename-charset, filename-translation-control - DRAFT 13 - القسم 6 - فقط جانب العميل