تم إنشاء هذه الترجمة باستخدام التعلم الآلي وقد لا تكون دقيقة بنسبة 100%. عرض النسخة الإنجليزية

إنشاء نفق SSH للوصول إلى I2P عن بُعد

تعلم كيفية إنشاء أنفاق SSH آمنة على Windows و Linux و Mac للوصول إلى router I2P البعيد الخاص بك

يوفر نفق SSH اتصالاً آمناً ومشفراً للوصول إلى وحدة تحكم I2P router البعيدة أو خدمات أخرى. يوضح لك هذا الدليل كيفية إنشاء أنفاق SSH على أنظمة Windows وLinux وMac.

ما هو نفق SSH؟

نفق SSH هو طريقة لتوجيه البيانات والمعلومات بشكل آمن عبر اتصال SSH مشفر. فكر في الأمر على أنه إنشاء “خط أنابيب” محمي عبر الإنترنت - تنتقل بياناتك عبر هذا النفق المشفر، مما يمنع أي شخص من اعتراضها أو قراءتها أثناء الطريق.

نفق SSH مفيد بشكل خاص من أجل:

  • الوصول إلى أجهزة التوجيه I2P البعيدة: الاتصال بوحدة تحكم I2P الخاصة بك والتي تعمل على خادم بعيد
  • اتصالات آمنة: يتم تشفير جميع البيانات من طرف إلى طرف
  • تجاوز القيود: الوصول إلى الخدمات على الأنظمة البعيدة كما لو كانت محلية
  • إعادة توجيه المنافذ: ربط منفذ محلي بخدمة بعيدة

في سياق I2P، يمكنك استخدام نفق SSH للوصول إلى وحدة تحكم router الخاص بك في I2P (عادةً على المنفذ 7657) على خادم بعيد عن طريق إعادة توجيهه إلى منفذ محلي على جهاز الكمبيوتر الخاص بك.

المتطلبات الأساسية

قبل إنشاء نفق SSH، ستحتاج إلى:

  • عميل SSH:
    • Windows: PuTTY (تنزيل مجاني)
    • Linux/Mac: عميل SSH مدمج (عبر Terminal)
  • الوصول إلى الخادم البعيد:
    • اسم المستخدم للخادم البعيد
    • عنوان IP أو اسم المضيف للخادم البعيد
    • كلمة مرور SSH أو المصادقة المعتمدة على المفتاح
  • منفذ محلي متاح: اختر منفذاً غير مستخدم بين 1-65535 (المنفذ 7657 شائع الاستخدام لـ I2P)

فهم أمر Tunnel

يتبع أمر نفق SSH هذا النمط:

ssh -L [local_port]:[destination_ip]:[destination_port] [username]@[remote_server]

شرح المعاملات: - local_port: المنفذ على جهازك المحلي (مثلاً، 7657) - destination_ip: عادةً 127.0.0.1 (localhost على الخادم البعيد) - destination_port: منفذ الخدمة على الخادم البعيد (مثلاً، 7657 لـ I2P) - username: اسم المستخدم الخاص بك على الخادم البعيد - remote_server: عنوان IP أو اسم المضيف للخادم البعيد

مثال: ssh -L 7657:127.0.0.1:7657 i2p@20.228.143.58

هذا ينشئ نفقًا حيث: - المنفذ المحلي 7657 على جهازك يُحوّل إلى… - المنفذ 7657 على localhost الخاص بالخادم البعيد (حيث يعمل I2P) - الاتصال كمستخدم i2p بالخادم 20.228.143.58

إنشاء أنفاق SSH على Windows

يمكن لمستخدمي Windows إنشاء أنفاق SSH باستخدام PuTTY، وهو عميل SSH مجاني.

Step 1: Download and Install PuTTY

قم بتنزيل PuTTY من putty.org وتثبيته على نظام Windows الخاص بك.

Step 2: Configure the SSH Connection

افتح PuTTY وقم بتكوين اتصالك:

  1. في فئة Session:
    • أدخل عنوان IP أو اسم المضيف للخادم البعيد في حقل Host Name
    • تأكد من ضبط Port على 22 (منفذ SSH الافتراضي)
    • يجب أن يكون نوع الاتصال SSH

تكوين جلسة PuTTY

Step 3: Configure the Tunnel

انتقل إلى Connection → SSH → Tunnels في الشريط الجانبي الأيسر:

  1. منفذ المصدر: أدخل المنفذ المحلي الذي تريد استخدامه (مثلاً، 7657)
  2. الوجهة: أدخل 127.0.0.1:7657 (localhost:port على الخادم البعيد)
  3. انقر على إضافة لإضافة النفق
  4. يجب أن يظهر النفق في قائمة “المنافذ المعاد توجيهها”

إعدادات نفق PuTTY

Step 4: Connect

  1. انقر على Open لبدء الاتصال
  2. إذا كانت هذه أول مرة تتصل فيها، ستظهر لك تنبيه أمني - انقر على Yes للوثوق بالخادم
  3. أدخل اسم المستخدم عندما يُطلب منك ذلك
  4. أدخل كلمة المرور عندما يُطلب منك ذلك

اتصال PuTTY تم إنشاؤه

بمجرد الاتصال، يمكنك الوصول إلى وحدة تحكم I2P البعيدة الخاصة بك عن طريق فتح متصفح والانتقال إلى http://127.0.0.1:7657

الخطوة 1: تنزيل وتثبيت PuTTY

لتجنب إعادة التهيئة في كل مرة:

  1. العودة إلى فئة الجلسة (Session)
  2. أدخل اسمًا في الجلسات المحفوظة (Saved Sessions) (مثال: “I2P Tunnel”)
  3. انقر على حفظ (Save)
  4. في المرة القادمة، قم بتحميل هذه الجلسة وانقر على فتح (Open)

Creating SSH Tunnels on Linux

أنظمة Linux تحتوي على SSH مدمج في الطرفية، مما يجعل إنشاء الأنفاق سريعًا ومباشرًا.

الخطوة 2: تكوين اتصال SSH

افتح نافذة طرفية وقم بتشغيل أمر نفق SSH:

ssh -L 7657:127.0.0.1:7657 i2p@20.228.143.58

استبدل: - 7657 (الظهور الأول): المنفذ المحلي المطلوب - 127.0.0.1:7657: عنوان الوجهة والمنفذ على الخادم البعيد - i2p: اسم المستخدم الخاص بك على الخادم البعيد - 20.228.143.58: عنوان IP للخادم البعيد الخاص بك

إنشاء نفق SSH في Linux

عند المطالبة، أدخل كلمة المرور الخاصة بك. بمجرد الاتصال، يصبح النفق (tunnel) نشطًا.

قم بالوصول إلى وحدة تحكم I2P البعيدة الخاصة بك على http://127.0.0.1:7657 في متصفحك.

الخطوة 3: تكوين النفق

يبقى النفق نشطًا طالما أن جلسة SSH قيد التشغيل. للحفاظ على تشغيله في الخلفية:

ssh -f -N -L 7657:127.0.0.1:7657 i2p@20.228.143.58

أعلام إضافية: - -f: تشغيل SSH في الخلفية - -N: عدم تنفيذ أوامر عن بعد (tunnel فقط)

لإغلاق tunnel في الخلفية، ابحث عن عملية SSH وأنهِها:

ps aux | grep ssh
kill [process_id]

الخطوة 4: الاتصال

للحصول على أمان وراحة أفضل، استخدم مصادقة مفاتيح SSH:

  1. إنشاء زوج مفاتيح SSH (إذا لم يكن لديك واحد):

    ssh-keygen -t ed25519 -C "your_email@example.com"
    
  2. انسخ مفتاحك العام إلى الخادم البعيد:

    ssh-copy-id i2p@20.228.143.58
    
  3. الآن يمكنك الاتصال بدون كلمة مرور:

    ssh -L 7657:127.0.0.1:7657 i2p@20.228.143.58
    

Creating SSH Tunnels on Mac

تستخدم أنظمة Mac نفس عميل SSH الخاص بنظام Linux، لذا فإن العملية متطابقة.

اختياري: احفظ جلستك

افتح Terminal (التطبيقات ← الأدوات المساعدة ← Terminal) وقم بتشغيل:

ssh -L 7657:127.0.0.1:7657 i2p@20.228.143.58

استبدل: - 7657 (الظهور الأول): المنفذ المحلي المطلوب - 127.0.0.1:7657: عنوان الوجهة والمنفذ على الخادم البعيد - i2p: اسم المستخدم الخاص بك على الخادم البعيد - 20.228.143.58: عنوان IP الخاص بالخادم البعيد

Mac SSH tunnel creation

أدخل كلمة المرور الخاصة بك عند الطلب. بمجرد الاتصال، قم بالوصول إلى وحدة تحكم I2P البعيدة على http://127.0.0.1:7657

Background Tunnels on Mac

كما في Linux، يمكنك تشغيل الـ tunnel في الخلفية:

ssh -f -N -L 7657:127.0.0.1:7657 i2p@20.228.143.58

استخدام الطرفية

إعداد مفتاح SSH على Mac مطابق لنظام Linux:

# Generate key (if needed)
ssh-keygen -t ed25519 -C "your_email@example.com"

# Copy to remote server
ssh-copy-id i2p@20.228.143.58

Common Use Cases

الحفاظ على النفق نشطاً

حالة الاستخدام الأكثر شيوعًا - الوصول إلى وحدة تحكم I2P router البعيدة الخاصة بك:

ssh -L 7657:127.0.0.1:7657 user@remote-server

ثم افتح http://127.0.0.1:7657 في المتصفح الخاص بك.

استخدام مفاتيح SSH (موصى به)

إعادة توجيه منافذ متعددة في وقت واحد:

ssh -L 7657:127.0.0.1:7657 -L 7658:127.0.0.1:7658 user@remote-server

هذا يُعيد توجيه كل من المنفذ 7657 (واجهة I2P) والمنفذ 7658 (خدمة أخرى).

Custom Local Port

استخدم منفذ محلي مختلف إذا كان المنفذ 7657 قيد الاستخدام بالفعل:

ssh -L 8080:127.0.0.1:7657 user@remote-server

قم بالوصول إلى وحدة تحكم I2P على http://127.0.0.1:8080 بدلاً من ذلك.

Troubleshooting

استخدام الطرفية

خطأ: “bind: Address already in use”

الحل: اختر منفذ محلي مختلف أو أنهِ العملية التي تستخدم ذلك المنفذ:

# Linux/Mac - find process on port 7657
lsof -i :7657

# Kill the process
kill [process_id]

أنفاق الخلفية على Mac

خطأ: “Connection refused” أو “channel 2: open failed”

الأسباب المحتملة: - الخدمة البعيدة غير قيد التشغيل (تحقق من أن router الـ I2P يعمل على الخادم البعيد) - جدار الحماية يحجب الاتصال - منفذ الوجهة غير صحيح

الحل: تحقق من أن موجه I2P يعمل على الخادم البعيد:

ssh user@remote-server "systemctl status i2p"

إعداد مفتاح SSH على نظام Mac

خطأ: “تم رفض الإذن” أو “فشلت المصادقة”

الأسباب المحتملة: - اسم المستخدم أو كلمة المرور غير صحيحة - مفتاح SSH غير مُكوّن بشكل صحيح - وصول SSH معطّل على الخادم البعيد

الحل: تحقق من بيانات الاعتماد وتأكد من تمكين وصول SSH على الخادم البعيد.

Tunnel Drops Connection

خطأ: انقطاع الاتصال بعد فترة من عدم النشاط

الحل: أضف إعدادات keep-alive إلى ملف تكوين SSH الخاص بك (~/.ssh/config):

Host remote-server
    ServerAliveInterval 60
    ServerAliveCountMax 3

Security Best Practices

  • استخدم مفاتيح SSH: أكثر أماناً من كلمات المرور، وأصعب في الاختراق
  • عطّل المصادقة بكلمة المرور: بمجرد إعداد مفاتيح SSH، عطّل تسجيل الدخول بكلمة المرور على الخادم
  • استخدم كلمات مرور قوية: إذا كنت تستخدم المصادقة بكلمة المرور، استخدم كلمة مرور قوية وفريدة
  • قيّد الوصول إلى SSH: قم بتكوين قواعد جدار الحماية لتقييد الوصول إلى SSH على عناوين IP الموثوقة فقط
  • حافظ على تحديث SSH: قم بتحديث برامج عميل وخادم SSH بانتظام
  • راقب السجلات: تحقق من سجلات SSH على الخادم للكشف عن أي نشاط مشبوه
  • استخدم منافذ SSH غير قياسية: قم بتغيير منفذ SSH الافتراضي (22) لتقليل الهجمات الآلية

إنشاء أنفاق SSH على Linux

الوصول إلى واجهة I2P Console

أنشئ سكريبت لإنشاء الأنفاق تلقائيًا:

#!/bin/bash
# i2p-tunnel.sh

ssh -f -N -L 7657:127.0.0.1:7657 i2p@20.228.143.58
echo "I2P tunnel established"

اجعله قابلاً للتنفيذ:

chmod +x i2p-tunnel.sh
./i2p-tunnel.sh

أنفاق متعددة

أنشئ خدمة systemd لإنشاء الأنفاق تلقائيًا:

sudo nano /etc/systemd/system/i2p-tunnel.service

أضف:

[Unit]
Description=I2P SSH Tunnel
After=network.target

[Service]
ExecStart=/usr/bin/ssh -NT -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -L 7657:127.0.0.1:7657 i2p@20.228.143.58
Restart=always
RestartSec=10
User=your-username

[Install]
WantedBy=multi-user.target

تفعيل والبدء:

sudo systemctl enable i2p-tunnel
sudo systemctl start i2p-tunnel

Advanced Tunneling

منفذ محلي مخصص

قم بإنشاء بروكسي SOCKS للتوجيه الديناميكي:

ssh -D 8080 user@remote-server

قم بتكوين متصفحك لاستخدام 127.0.0.1:8080 كوكيل SOCKS5.

Reverse Tunneling

اسمح للخادم البعيد بالوصول إلى الخدمات على جهازك المحلي:

ssh -R 7657:127.0.0.1:7657 user@remote-server

المنفذ قيد الاستخدام بالفعل

النفق عبر خادم وسيط:

ssh -J jumphost.example.com -L 7657:127.0.0.1:7657 user@final-server

Conclusion

نفق SSH هو أداة قوية للوصول الآمن إلى أجهزة router البعيدة في I2P والخدمات الأخرى. سواء كنت تستخدم Windows أو Linux أو Mac، فإن العملية مباشرة وتوفر تشفيرًا قويًا لاتصالاتك.

للحصول على مساعدة إضافية أو طرح أسئلة، قم بزيارة مجتمع I2P: - المنتدى: i2pforum.net - IRC: #i2p على شبكات مختلفة - التوثيق: I2P Docs


خريطة طريق I2P

تم اقتراح الميزات التالية لمشروع I2P. هذه ليست قائمة شاملة، ولا يوجد ضمان بأن أي شيء مدرج هنا سيتم تنفيذه. ومع ذلك، إنها مؤشر جيد على اتجاه المشروع.

الأولويات الحالية

الأداء والموثوقية

  • تحسينات NTCP2
  • تحسينات SSU
  • تحسين netDb للتعامل مع الشبكات الكبيرة
  • تحسين اختيار نقاط floodfill
  • تحسين إدارة tunnel
  • تحسين أداء router

الأمان

  • تحديث خوارزميات التشفير
  • تحسين garlic encryption
  • تدقيق أمني للكود الأساسي
  • تحسين حماية الخصوصية

سهولة الاستخدام

  • تحسين واجهة المستخدم لـ router
  • تبسيط الإعداد الأولي
  • تحسين الوثائق
  • أدوات أفضل للمطورين

التوافق والتكامل

  • تحسين توافق SAMv3
  • تحسين دعم I2PTunnel
  • واجهات برمجة تطبيقات أفضل للتطبيقات
  • دعم أفضل للمنصات المحمولة

الميزات المقترحة طويلة المدى

تحسينات البروتوكول

  • بروتوكولات نقل جديدة
  • تحسينات على I2NP
  • خوارزميات توجيه أفضل
  • دعم محسّن لـ IPv6

قابلية التوسع

  • دعم أفضل للشبكات الكبيرة
  • تحسين أداء leaseSet
  • معالجة موزعة لـ netDb
  • تقسيم أفضل للشبكة

التطوير

  • أدوات اختبار محسنة
  • بيئة تطوير أفضل
  • مكتبات للغات برمجة إضافية
  • وثائق محسنة للمطورين

الدليل الأصلي من إعداد Stormy Cloud ، تم تكييفه لتوثيق I2P.

Was this page helpful?