حدود سلوى البرية التي تربط السعودية بقطر قد تُلغى
جدول المحتويات:
- ميناء الشحن المحلي
- ميناء الشحن البعيد
- ميناء الشحن الديناميكي
- قم بإعداد SSH Tunneling في Windows
- استنتاج
إن SSH tunneling أو SSH forward forwarding هي طريقة لإنشاء اتصال SSH مشفر بين العميل وجهاز الخادم الذي يمكن من خلاله نقل منافذ الخدمات.
يعد إعادة توجيه SSH مفيدًا لنقل بيانات الشبكة الخاصة بالخدمات التي تستخدم بروتوكولًا غير مشفر ، مثل VNC أو FTP ، أو الوصول إلى المحتوى المقيد جغرافيًا أو تجاوز جدران الحماية الوسيطة. بشكل أساسي ، يمكنك إعادة توجيه أي منفذ TCP ونفق حركة المرور عبر اتصال SSH آمن.
هناك ثلاثة أنواع من إعادة توجيه منفذ SSH:
- ميناء الشحن المحلي. - توجيه اتصال من مضيف العميل إلى مضيف خادم SSH ثم إلى منفذ مضيف الوجهة. إعادة توجيه منفذ الشحن. - إعادة توجيه منفذ من مضيف الخادم إلى مضيف العميل ثم إلى منفذ مضيف الوجهة. إعادة توجيه المنفذ الديناميكي. - ينشئ خادم وكيل SOCKS والذي يسمح بالتواصل عبر مجموعة من المنافذ.
، سنتحدث عن كيفية إعداد أنفاق SSH المشفرة المحلية والبعيدة والحيوية.
ميناء الشحن المحلي
تتيح لك ميزة "إعادة توجيه المنفذ المحلي" إعادة توجيه منفذ على الجهاز (العميل ssh) المحلي إلى منفذ على الجهاز البعيد (خادم ssh) ، والذي يتم توجيهه بعد ذلك إلى منفذ على الجهاز الوجهة.
في هذا النوع من إعادة التوجيه ، يستمع عميل SSH على منفذ معين وينفق أي اتصال بهذا المنفذ إلى المنفذ المحدد على خادم SSH البعيد ، والذي يتصل بعد ذلك بمنفذ على الجهاز الوجهة. يمكن أن يكون الجهاز الوجهة هو خادم SSH البعيد أو أي جهاز آخر.
يتم استخدام إعادة توجيه المنفذ المحلي في الغالب للاتصال بخدمة بعيدة على شبكة داخلية مثل قاعدة بيانات أو خادم VNC.
في Linux و macOS وأنظمة Unix الأخرى لإنشاء إعادة توجيه منفذ محلي ، قم بتمرير خيار
-L
إلى عميل
ssh
:
ssh -L LOCAL_PORT:DESTINATION:DESTINATION_PORT SSH_SERVER
الخيارات المستخدمة هي كما يلي:
-
LOCAL_PORT
- رقم الجهاز المحلي ورقم المنفذ. عندما يتم حذفLOCAL_IP
، يربط العميل ssh على المضيفLOCAL_IP
.DESTINATION:DESTINATION_PORT
- عنوان IP أو اسم المضيف ومنفذ الجهاز الوجهة.SERVER_IP
- عنوان IP الخاص بالمستخدم وخادم SSH البعيد.
يمكنك استخدام أي رقم منفذ أكبر من
1024
كـ
LOCAL_PORT
. تعد أرقام المنافذ التي تقل عن
1024
مميزة ويمكن استخدامها فقط عن طريق الجذر. إذا كان خادم SSH يستمع إلى منفذ آخر غير 22 (الافتراضي) ، فاستخدم الخيار
-p
.
يجب أن يكون اسم المضيف الوجهة قابلاً للحل من خادم SSH.
لنفترض أن لديك خادم قاعدة بيانات MySQL يعمل على الجهاز
db001.host
على شبكة داخلية (خاصة) ، على المنفذ 3306 والذي يمكن الوصول إليه من الجهاز
pub001.host
وتريد الاتصال باستخدام عميل
mysql
الخاص بالجهاز المحلي إلى خادم قاعدة البيانات. للقيام بذلك ، يمكنك إعادة توجيه الاتصال مثل:
ssh -L 3336:db001.host:3306 [email protected]
بمجرد تشغيل الأمر ، سيُطلب منك إدخال كلمة مرور مستخدم SSH عن بُعد. بعد إدخالها ، سيتم تسجيل الدخول إلى الخادم البعيد وسيتم إنشاء نفق SSH. من المستحسن إعداد مصادقة تستند إلى مفتاح SSH والاتصال بالخادم دون إدخال كلمة مرور.
الآن إذا قمت
db001.host:3306
عميل قاعدة بيانات الجهاز المحلي الخاص بك إلى
127.0.0.1:3336
، فسيتم إعادة توجيه الاتصال إلى خادم MySQL
db001.host:3306
عبر الجهاز
pub001.host
الذي سيعمل
pub001.host
وسيط.
يمكنك توجيه منافذ متعددة إلى وجهات متعددة في أمر ssh واحد. على سبيل المثال ، لديك خادم قاعدة بيانات MySQL آخر يعمل على الجهاز
db002.host
وتريد الاتصال بكلا الخادمين من عميلك المحلي الذي تقوم بتشغيله:
ssh -L 3336:db001.host:3306 3337:db002.host:3306 [email protected]
للاتصال بالخادم الثاني ، يمكنك استخدام
127.0.0.1:3337
.
عندما يكون المضيف الوجهة هو نفسه خادم SSH بدلاً من تحديد عنوان IP للمضيف الوجهة أو اسم المضيف ، يمكنك استخدام
localhost
.
لنفترض أنك بحاجة إلى الاتصال بجهاز بعيد من خلال VNC الذي يعمل على نفس الخادم ولا يمكن الوصول إليه من الخارج. الأمر الذي ستستخدمه هو:
ssh -L 5901:127.0.0.1:5901 -N -f [email protected]
يخبر الخيار
-f
الأمر
ssh
بالعمل في الخلفية و - عدم تنفيذ أمر بعيد. نحن نستخدم
localhost
لأن VNC وخادم SSH يعملان على نفس المضيف.
ميناء الشحن البعيد
إعادة توجيه المنفذ البعيد هي عكس إعادة توجيه المنفذ المحلي. يسمح لك بإعادة توجيه منفذ على الجهاز البعيد (خادم ssh) إلى منفذ على الجهاز (العميل ssh) المحلي ، والذي يتم توجيهه بعد ذلك إلى منفذ على الجهاز الوجهة.
في هذا النوع من إعادة التوجيه ، يستمع خادم SSH على منفذ معين وينفق أي اتصال بهذا المنفذ إلى المنفذ المحدد على عميل SSH المحلي ، والذي يتصل بعد ذلك بمنفذ على الجهاز الوجهة. يمكن أن يكون الجهاز الوجهة هو الجهاز المحلي أو أي جهاز آخر.
في Linux و macOS وأنظمة Unix الأخرى لإنشاء إعادة توجيه المنافذ البعيدة ، قم بتمرير خيار
-R
إلى عميل
ssh
:
ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT SSH_SERVER
الخيارات المستخدمة هي كما يلي:
-
REMOTE_PORT
- IP ورقم المنفذ على خادم SSH البعيد. يعنيREMOTE
الفارغ أن خادم SSH البعيد سوف يربط على جميع الواجهات.DESTINATION:DESTINATION_PORT
- عنوان IP أو اسم المضيف ومنفذ الجهاز الوجهة.SERVER_IP
- عنوان IP الخاص بالمستخدم وخادم SSH البعيد.
يتم استخدام إعادة توجيه المنفذ المحلي في الغالب لإتاحة الوصول إلى خدمة داخلية لشخص من الخارج.
دعنا نفترض أنك تقوم بتطوير تطبيق ويب على جهازك المحلي وتريد عرض معاينة لزميلك المطور. ليس لديك عنوان IP عام حتى لا يتمكن المطور الآخر من الوصول إلى التطبيق عبر الإنترنت.
ssh -L 8080:127.0.0.1:3000 -N -f [email protected]
الأمر أعلاه سيجعل خادم ssh للاستماع على المنفذ
8080
ونفق كل حركة المرور من هذا المنفذ إلى جهازك المحلي على المنفذ
3000
.
الآن ، يمكن
the_ssh_server_ip:8080
المطور كتابة
the_ssh_server_ip:8080
في
the_ssh_server_ip:8080
ومعاينة التطبيق الرائع الخاص بك.
ميناء الشحن الديناميكي
تتيح لك إعادة توجيه المنفذ الديناميكي إنشاء مأخذ توصيل على الجهاز المحلي (العميل ssh) الذي يعمل كخادم وكيل SOCKS. عندما يتصل عميل بهذا المنفذ ، يتم توجيه الاتصال إلى الجهاز البعيد (خادم ssh) ، والذي يتم توجيهه بعد ذلك إلى منفذ ديناميكي على الجهاز الوجهة.
بهذه الطريقة ، ستتصل جميع التطبيقات التي تستخدم بروكسي SOCKS بخادم SSH وسيقوم الخادم بإعادة توجيه كل حركة المرور إلى وجهتها الفعلية.
في نظام Linux ، تقوم أنظمة macOS وأنظمة Unix الأخرى لإنشاء إعادة توجيه منفذ ديناميكي (SOCKS) بتمرير الخيار
-D
إلى عميل
ssh
:
ssh -D LOCAL_PORT SSH_SERVER
الخيارات المستخدمة هي كما يلي:
-
LOCAL_PORT
- رقم الجهاز المحلي ورقم المنفذ. عندما يتم حذفLOCAL_IP
، يربط العميل ssh على المضيفLOCAL_IP
.SERVER_IP
- عنوان IP الخاص بالمستخدم وخادم SSH البعيد.
مثال نموذجي لإعادة توجيه المنفذ الديناميكي هو نفق حركة مرور مستعرض الويب من خلال خادم SSH.
سيقوم الأمر التالي بإنشاء نفق SOCKS على المنفذ
9090
:
ssh -D 9090 -N -f [email protected]
بمجرد إنشاء النفق ، يمكنك تكوين التطبيق الخاص بك لاستخدامه. تشرح هذه المقالة كيفية تكوين متصفح Firefox و Google Chrome لاستخدام بروكسي SOCKS.
يجب أن يتم تكوين إعادة توجيه المنفذ بشكل منفصل لكل تطبيق تريد أن تنفق حركة المرور عليه.
قم بإعداد SSH Tunneling في Windows
يمكن لمستخدمي Windows إنشاء أنفاق SSH باستخدام عميل PuTTY SSH. يمكنك تنزيل المعجون هنا.
-
قم بتشغيل المعجون وأدخل عنوان IP لخادم SSH في حقل
Host name (or IP address)
.ستظهر لك نافذة جديدة تطلب اسم المستخدم وكلمة المرور. بمجرد إدخال اسم المستخدم وكلمة المرور ، سيتم تسجيل الدخول إلى الخادم الخاص بك وسيتم بدء تشغيل SSH tunnel.
سيسمح لك إعداد مصادقة المفتاح العام بالاتصال بخادمك دون إدخال كلمة مرور.
استنتاج
لقد أوضحنا لك كيفية إعداد أنفاق SSH وإعادة توجيه حركة المرور من خلال اتصال SSH آمن. لسهولة الاستخدام ، يمكنك تحديد نفق SSH في ملف تهيئة SSH أو إنشاء اسم مستعار Bash سيقوم بإعداد نفق SSH.
سه الأمنكيفية إعداد نفق ssh لتجاوز جدار الحماية

يعد جدار الحماية شيئًا جيدًا ، ولكن إذا كان يمنعك من القيام بشيء ما ، فإن SSH Tunneling يعد خيارًا جيدًا للاستكشاف.
كيفية إعداد نفق الجوارب ssh للتصفح الخاص

سيرشدك هذا البرنامج التعليمي إلى عملية إنشاء نفق SSH مشفر وتكوين متصفحات الويب Firefox و Google Chrome لاستخدام بروكسي SOCKS.
كيفية الاتصال mysql من خلال نفق ssh

في هذا الدليل ، سنشرح كيفية إنشاء نفق SSH والاتصال بخادم MySQL من عملاء بعيدين.