لقد استخدمت ssh -L 10002:192.168.0.30:10002 192.168.1.135
لإنشاء إعادة توجيه المنفذ ولكن الآن أحتاج إلى إزالته.
كيف أقوم بهذا العمل؟
إذا كنت تستخدم Linux ، يمكنك إنهاء العملية عن طريق:
ps aux | grep ssh
ثم استخدم
kill <id>
لقتل العملية.
إذا لم ينجح أمر القتل ، فيمكنك المحاولة
kill -9 <id>
عند استخدام ssh multiplexing ، غالبًا ما يكون قتل ssh غير مرغوب فيه (فهو يقتل جميع الاتصالات المفتوحة مع ذلك المضيف) ، ولا يمكنك الوصول بسهولة إلى الهروب لأن "الهروب غير متاح لجلسات متعددة الإرسال". الطريقة الصحيحة هي تشغيل الأمر التماثلي لأمر إعادة التوجيه الذي تريد إلغاؤه ، ولكن إضافة -O cancel
. على سبيل المثال:
ssh -O cancel -L 10002:192.168.0.30:10002 192.168.1.135
سيؤدي هذا إلى تعطيل إعادة توجيه هذا المنفذ دون إنهاء الجلسة. مرة أخرى ، لن يعمل هذا إلا إذا كان ssh multiplexing قيد الاستخدام للاتصال بـ 192.168.1.135 .
يمكنك استخدام "مفتاح الهروب" (عادةً ~) متبوعًا بـ C للحصول على cli لاتصالك. يمكنك من هناك إزالة الأنفاق دون إنزال اتصالك.
كيفية إلغاء منفذ معاد توجيهه في جلسة SSH قيد التشغيل بالفعل:
-KL port
يجب أن ترى هذا:
ssh> -KL 10002
Canceled forwarding.
يمكنك إدخال وحدة تحكم تفاعلية عن طريق الكتابة ~C (العاصمة "C"). يتيح لك ذلك إضافة عمليات إعادة توجيه المنافذ وإزالتها (من بين أشياء أخرى قليلة).
يجب أن يأتي هذا التسلسل مباشرة بعد خط عودة/سطر جديد. في شك ، فقط اكتب Enter~C (في تسلسل).
إذا لم تظهر الأحرف على وحدة التحكم ، فأنت تقوم بذلك بشكل صحيح :)
يجب أن تشاهد الآن ssh>
موجه.
لإزالة المنفذ ، ما عليك سوى إدخال -KL 10002
متبوعًا Enter (حيث 10002
هو المنفذ المعاد توجيهه).
يمكن القيام بالعكس - إضافة جديد للأمام - مثل هذا (من البداية إلى النهاية):
Enter~C
ssh> -L 10002:192.168.0.30:10002
Enter