SSH দিয়ে ফরওয়ার্ড করা পোর্ট সর্বদা SOCKS প্রক্সি নয়
কোনো অ্যাপ্লিকেশন কনফিগার করার আগে SSH-এর স্থির লোকাল ফরওয়ার্ড ও গতিশীল SOCKS লিসেনারের পার্থক্য বুঝুন।
আপনি একটি SSH টানেল তৈরি করেন, 127.0.0.1 ও তার পোর্ট ব্রাউজারের প্রক্সি সেটিংসে দেন, কিন্তু কিছুই লোড হয় না। লিসেনারটি নিখুঁতভাবে কাজ করতে পারে। এটি হয়তো শুধু ভুল ধরনের ট্রাফিকের জন্য অপেক্ষা করছে।
| ফরওয়ার্ড | লোকাল অ্যাপ্লিকেশন কী পাঠায় | গন্তব্য নির্বাচন |
|---|---|---|
-L | লক্ষ্য সেবার স্বাভাবিক প্রোটোকল | SSH কমান্ডে স্থির করা |
-D | একটি SOCKS আলোচনা, তারপর অ্যাপ্লিকেশন ট্রাফিক | SOCKS ক্লায়েন্ট অনুরোধ করে |
একটি ওয়েব সার্ভারের জন্য এটি একটি স্থির ফরওয়ার্ড:
ssh -N -L 127.0.0.1:9080:web.example.com:80 [email protected]
http://127.0.0.1:9080/ একটি ওয়েবসাইট হিসেবে দেখুন। পোর্ট 9080-কে SOCKS লেবেল করবেন না: এটি কমান্ডে উল্লিখিত একক ওয়েব সার্ভারে বাইট পাঠায়। ভিন্ন হোস্টনামের অধীনে সাইট খুললে তার ভার্চুয়াল হোস্টিং, রিডাইরেক্ট বা কুকিতেও প্রভাব পড়তে পারে।
একটি SOCKS লিসেনার-এর জন্য আকৃতি বদলে যায়:
ssh -N -D 127.0.0.1:1080 [email protected]
অ্যাপ্লিকেশনটি 127.0.0.1:1080-এ SOCKS ব্যবহার করতে কনফিগার করুন। ওই ঠিকানা সরাসরি ব্রাউজারের ঠিকানা বারে দিলে একটি ওয়েব অনুরোধ SOCKS লিসেনারে যায়, এটি আরেকটি প্রোটোকল অমিল।
OpenSSH ম্যানুয়াল দুই রূপই নথিভুক্ত করে। একটি উপকারী ব্যতিক্রম আছে: বিদ্যমান একটি HTTP প্রক্সি -L দিয়ে ফরওয়ার্ড করলে এমন একটি লোকাল পোর্ট তৈরি হয় যা HTTP প্রক্সি প্রোটোকল বলে, কারণ এর স্থির গন্তব্যই একটি HTTP প্রক্সি। দূর প্রান্তের সেবাই ঠিক করে স্থির ফরওয়ার্ডে কী থাকা উচিত। SSH-এর মাধ্যমে বিদ্যমান প্রক্সি ফরওয়ার্ড করা সেই প্রক্সির প্রোটোকল ও অ্যাকাউন্ট রাখে।