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 कनेक्शन मार्गस्थ करते. दूरस्थ होस्टवर चालणारा आदेश जो नंतर एखादे रेपॉझिटरी किंवा पॅकेज डाउनलोड करतो, त्या प्रोग्रामच्या स्वतःच्या प्रॉक्सी कॉन्फिगरेशननुसार त्या होस्टवरून नवीन बाहेर जाणारे कनेक्शन तयार करतो.

संबंधित लेख