SOCKS پراکسی کے ذریعے Fabric 2+ SSH کنکشنز
SSH توثیق کو منزل سے منسلک رکھتے ہوئے SOCKS کی حمایت کرنے والے کنیکٹر کے ساتھ Fabric کا ProxyCommand گیٹ وے استعمال کریں۔
Fabric کے دور دراز احکامات SSH کے ذریعے سفر کرتے ہیں۔ اس SSH کنکشن کو SOCKS سرور کے ذریعے لے جانے کے لیے Fabric کو ایسا کنیکٹر دیں جو SOCKS بولتا ہو اور منزل کی بائٹ اسٹریم واپس دیتا ہو۔
Fabric 2 میں متعارف کرایا گیا Connection API ایک کمانڈ سٹرنگ کو اپنے gateway کے طور پر قبول کرتا ہے۔ Fabric وہ سٹرنگ ProxyCommand کے طور پر استعمال کرتا ہے۔ اگر اس کے پراکسی اختیارات کی حمایت کرنے والا موجودہ OpenBSD-مطابق nc ہو تو ترتیب یوں ہو سکتی ہے:
from fabric import Connection
connection = Connection(
"app.example.net",
user="deploy",
gateway="nc -X 5 -x proxy.example.net:1080 %h %p",
)یہ مثال عام SSH پورٹ، 22 استعمال کرتی ہے۔ کنیکٹر کا -X 5 SOCKS5 منتخب کرتا ہے، جبکہ -x پراکسی کے آخری نقطے کی نشاندہی کرتا ہے۔ میزبان اور پورٹ کے پلیس ہولڈرز SSH منزل فراہم کرتے ہیں۔ کسی عوامی SSH منزل کے لیے، SOCKS5 پراکسی فہرست سے کوئی غیر تصدیق شدہ آخری نقطہ پراکسی پتہ بھر سکتا ہے اگر وہ اس منزل اور پورٹ کی اجازت دیتا ہو۔ کمانڈ کو مشین پر نصب حقیقی کنیکٹر کے اختیارات کے مطابق ترتیب دیں؛ nc نامی تمام پروگرام ایک جیسا انٹرفیس فراہم نہیں کرتے۔
کنیکٹر مقامی طور پر چلتا ہے، وہیں جہاں Fabric چلتا ہے۔ ایپلیکیشن سرور کو صرف اس لیے اس مددگار کی ضرورت نہیں کہ وہ SSH منزل ہے۔ اسٹریم قائم ہونے کے بعد بھی Fabric SSH مذاکرات کرتا ہے اور deploy اکاؤنٹ کو app.example.net پر تصدیق کرتا ہے۔ SOCKS سرور کی مطلوبہ کوئی بھی توثیق کنیکٹر کی ہے اور اسے اس کی حمایت حاصل ہونی چاہیے۔
Fabric SSH ترتیب سے بھی ProxyCommand پڑھ سکتا ہے۔ یہ اس وقت سہولت بخش ہو سکتا ہے جب ایک ہی راستہ کئی SSH اوزار استعمال کریں۔ ایک ہی منزل کے لیے کمانڈ طرز کے گیٹ وے کو الگ جمپ-ہوسٹ گیٹ وے کے ساتھ ملانے کے بجائے کنکشن کے لیے ایک ہی مطلوبہ گیٹ وے تعریف استعمال کریں۔
جب بیچوان SSH سرور ہو
Fabric کا Connection آبجیکٹ جب gateway کے طور پر دیا جائے تو مطلب مختلف ہوتا ہے: Fabric اس SSH گیٹ وے سے جڑتا ہے اور آخری میزبان کی طرف چینل طلب کرتا ہے۔ SSH جمپ ہوسٹ کے لیے وہی شکل استعمال کریں۔ SOCKS سامع SSH سرور نہیں ہے، اس لیے اسے اوپر والا کمانڈ طرز کنیکٹر درکار ہے۔
اس نقل و حمل کے انتخاب کی بھی واضح حد ہے۔ یہ Fabric کے SSH کنکشن کو راستہ دیتا ہے۔ دور دراز میزبان پر چلنے والا حکم جو بعد میں کوئی مخزن یا پیکج ڈاؤن لوڈ کرتا ہے، اس پروگرام کی اپنی پراکسی ترتیب کے مطابق اس میزبان سے نیا باہر جانے والا کنکشن بناتا ہے۔