Fabric 2+ نىڭ SSH ئۇلىنىشلىرىنى SOCKS ۋاكالەتچىسى ئارقىلىق
Fabric نىڭ ProxyCommand دەرۋازىسىنى SOCKS قوللايدىغان ئۇلاغ بىلەن ئىشلىتىڭ، SSH دەلىللەش يەنىلا مەنزىلگە باغلانغان تۇرسۇن.
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 يەنە ProxyCommand نى SSH سەپلىمىسىدىن ئوقۇيالايدۇ. ئوخشاش يولنى بىر قانچە SSH قورالى ئىشلەتكەندە بۇ قولايلىق بولۇشى مۇمكىن. ئوخشاش مەنزىل ئۈچۈن بۇيرۇق ئۇسلۇبىدىكى دەرۋازا بىلەن ئايرىم سەكرەش خوجىسى دەرۋازىسىنى بىرلەشتۈرۈش ئورنىغا، ئۇلىنىش ئۈچۈن بىر مەقسەتلىك دەرۋازا ئېنىقلىمىسىنى ئىشلىتىڭ.
ئارىلىقتىكى ئۈچۈنچى SSH مۇلازىمېتىرى بولغاندا
Fabric نىڭ Connection ئوبيېكتى gateway سۈپىتىدە بېرىلگەندە باشقا مەنىنى بىلدۈرىدۇ: Fabric شۇ SSH دەرۋازىسىغا ئۇلىنىپ، ئاخىرقى خوجىغا قانال تەلەپ قىلىدۇ. SSH سەكرەش خوجىسى ئۈچۈن شۇ شەكىلنى ئىشلىتىڭ. SOCKS ئاڭلىغۇچى SSH مۇلازىمېتىرى ئەمەس، شۇڭا ئۇنىڭغا يۇقىرىدىكى بۇيرۇق ئۇسلۇبىدىكى ئۇلاغ كېرەك.
بۇ توشۇش تاللىشىنىڭمۇ ئېنىق چېگرىسى بار. ئۇ Fabric نىڭ SSH ئۇلىنىشىنى يولغا سالىدۇ. يىراقتىكى خوجىدا ئىجرا قىلىنغان بۇيرۇق كېيىن بىر ئامبار ياكى بوغچىنى چۈشۈرگەندە، شۇ پروگراممىنىڭ ئۆز ۋاكالەتچى سەپلىمىسىگە ئاساسەن شۇ خوجىدىن يېڭى چىقىش ئۇلىنىشى ھاسىل قىلىدۇ.