আমার দুটি ক্লায়েন্ট এবং সার্ভার রয়েছে।
ক্লায়েন্ট (যিনি কর্পোরেট ফায়ারওয়ালের পিছনে রয়েছেন) সার্ভারের কাছে একটি বিপরীত এসএসএইচ টানেল খুলুন, যার সর্বজনীনভাবে অ্যাক্সেসযোগ্য আইপি ঠিকানা রয়েছে, এই আদেশটি ব্যবহার করে:
ssh -nNT -R0: লোকালহোস্ট: 2222 এসিকিউর @ সার্ভার.এক্স্পেল.কম
ওপেনএসএসএইচ 5.3+-তে, স্পষ্টভাবে কোনওটির জন্য কল করার পরিবর্তে "একটি উপলব্ধ পোর্ট বেছে নিন" এর 0
ঠিক পরে ঘটছে -R
। আমি এটি করার কারণটি হ'ল আমি ইতিমধ্যে ব্যবহৃত পোর্ট বেছে নিতে চাই না। সত্যিকার অর্থে, এখানে অনেকগুলি ক্লায়েন্ট রয়েছে যাতে একই ধরণের টানেলগুলি স্থাপন করা দরকার।
এই মুহুর্তে সমস্যাটি হ'ল সার্ভারটি কোন ক্লায়েন্ট কোন তা জানে না। যদি আমরা এই ক্লায়েন্টগুলির একটিতে (লোকালহোস্টের মাধ্যমে) আবার সংযোগ স্থাপন করতে চাই তবে আমরা কীভাবে জানব যে কোন বন্দরটি কোন ক্লায়েন্টকে বোঝায়?
আমি সচেতন যে উপরের পদ্ধতিতে ব্যবহার করার সময় ssh কমান্ড লাইনে পোর্ট নম্বরটি প্রতিবেদন করে। তবে আমি সেশনগুলি বাঁচিয়ে রাখতে অটোশ ব্যবহার করতে চাই। অটোশ তার সন্তানের প্রক্রিয়াটি কাঁটাচামচ / এক্সিকিউটের মাধ্যমে চালায়, সম্ভবত, যাতে আসল ssh কমান্ডের আউটপুটটি ইথারে হারিয়ে যায়।
অধিকন্তু, ক্লায়েন্টের কাছ থেকে দূরবর্তী বন্দরটি পাওয়ার অন্য কোনও উপায়ের কথা ভাবতে পারি না। সুতরাং, আমি ভাবছি যে সার্ভারে এই পোর্টটি নির্ধারণ করার কোনও উপায় আছে কিনা।
আমার কাছে একটি ধারণা হ'ল কোনওভাবে / ইত্যাদি / এসএসসিআরসি ব্যবহার করা হবে যা অনুমান করা একটি স্ক্রিপ্ট যা প্রতিটি সংযোগের জন্য চলে। তবে, আমি জানি না যে এখানে কীভাবে প্রাসঙ্গিক তথ্য পাবেন (সম্ভবত সেই সংযোগটি পরিচালনা করে এমন বিশেষ এসএসডি প্রক্রিয়াটির পিআইডি?) আমি কিছু পয়েন্টার পছন্দ করতাম।
ধন্যবাদ!