مقامی SOCKS سننے والا کچھ نیٹ ورکس پر مفید ہوتا ہے اور کچھ پر نہیں۔ OpenSSH پراکسی کمانڈ کو شرط کے مطابق چن سکتا ہے، بغیر اس انتخاب کو ہر میزبان پر نافذ کیے۔

OpenBSD شکل کے nc کے ساتھ OpenSSH کے لیے، ایک مثالی کلائنٹ کنفیگریشن یہ ہے:

Host work-server
    HostName ssh.example.net
    User alex

Match originalhost work-server exec "nc -z -w 1 127.0.0.1 1080"
    ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p

Match all

originalhost جانچ کو SSH کمانڈ لائن پر دیے گئے نام تک محدود کرتا ہے۔ exec اس وقت میل کھاتا ہے جب اس کی کمانڈ کامیابی سے ختم ہو۔ آخری Match all اگلی ترتیبات کے لیے وہ شرطی دائرہ ختم کرتا ہے۔

یہ فرض کرتا ہے کہ پہلے کی کوئی قابلِ اطلاق ترتیب پہلے ہی متضاد پراکسی کمانڈ یا جمپ راستہ نہیں چن چکی۔ SSH عام طور پر کسی آپشن کے لیے پہلی حاصل شدہ قدر استعمال کرتا ہے، اس لیے اوپر والی وسیع ڈیفالٹ بعد کی شرط کو متوقع اثر ڈالنے سے روک سکتی ہے۔

سننے والا ساکٹ ایک منکسرانہ وعدہ ہے

جانچ مقامی پورٹ تک TCP رسائی کو پرکھتی ہے۔ یہ SOCKS گفت و شنید مکمل نہیں کرتی، مطلوبہ منزل کا کنکشن قائم نہیں کرتی، اور یہ ثابت نہیں کرتی کہ وہ پورٹ کس پروگرام کی ہے۔ جانچ کے بعد سننے والا غائب بھی ہو سکتا ہے۔

وقت کی حد ناکام جانچ کو محدود رکھتی ہے۔ دکھائے گئے آپشنز OpenBSD کے nc انٹرفیس کے ہیں؛ اسی فائل نام والے دیگر پروگرام مختلف آپشنز دے سکتے ہیں۔

جب شرط میل نہ کھائے تو یہ مثال کنکشن کو اس ProxyCommand کے بغیر چھوڑ دیتی ہے، جس سے اس کا معمول کا راستہ اجازت پا جاتا ہے۔ یہ صرف اسی وقت مناسب ہے جب براہ راست رسائی کی اجازت ہو۔ لازمی پراکسی پالیسی کو دستیابی کی جانچ کو کسی دوسرے راستے پر فرار کی اجازت نہیں بنانا چاہیے۔

ہدف SSH میزبان نام اور میزبان کلید کی جانچیں اب بھی منزل سرور کی شناخت کرتی ہیں۔ ٹرانسپورٹ معاون چننا غیر متوقع میزبان کلید قبول کرنے کی وجہ نہیں ہے۔

متعلقہ مضامین