Fabric attālinātās komandas ceļo pa SSH. Lai šo SSH savienojumu vadītu caur SOCKS serveri, dodiet Fabric savienotāju, kas runā SOCKS un atgriež galamērķa baitu plūsmu.

Fabric 2 ieviestais Connection API pieņem komandas virkni kā savu gateway. Fabric izmanto šo virkni kā ProxyCommand. Ja ir OpenBSD saderīgs nc, kas atbalsta tā starpniekservera opcijas, konfigurācija var būt šāda:

from fabric import Connection

connection = Connection(
    "app.example.net",
    user="deploy",
    gateway="nc -X 5 -x proxy.example.net:1080 %h %p",
)

Šis piemērs izmanto parasto SSH portu 22. Savienotāja -X 5 izvēlas SOCKS5, bet -x norāda starpniekservera galapunktu. Resursdatora un porta vietturi nodrošina SSH galamērķi. Publiskam SSH galamērķim neautentificēts galapunkts no SOCKS5 starpniekserveru saraksta var aizpildīt starpniekservera adresi, ja tas atļauj šo galamērķi un portu. Konfigurējiet komandu atbilstoši mašīnā instalētā faktiskā savienotāja opcijām; programmas ar nosaukumu nc ne visas piedāvā vienu un to pašu saskarni.

Savienotājs darbojas lokāli, tur, kur darbojas Fabric. Lietojumprogrammas serverim šis palīgs nav vajadzīgs tikai tāpēc, ka tas ir SSH galamērķis. Kad plūsma ir izveidota, Fabric joprojām veic SSH sarunas un autentificē deploy kontu app.example.net. Jebkura SOCKS servera pieprasītā autentifikācija pieder savienotājam, un tam tā ir jāatbalsta.

Fabric var arī nolasīt ProxyCommand no SSH konfigurācijas. Tas var būt ērti, ja vienu un to pašu maršrutu izmanto vairāki SSH rīki. Savienojumam izmantojiet vienu paredzētu vārtejas definīciju, nevis apvienojiet komandas stila vārteju ar atsevišķu lēciena resursdatora vārteju vienam un tam pašam galamērķim.

Kad starpnieks ir SSH serveris

Fabric Connection objekts, kas nodots kā gateway, nozīmē ko citu: Fabric pieslēdzas šai SSH vārtejai un pieprasa kanālu uz galīgo resursdatoru. Izmantojiet šo formu SSH lēciena resursdatoram. SOCKS klausītājs nav SSH serveris, tāpēc tam nepieciešams iepriekš aprakstītais komandas stila savienotājs.

Šai transporta izvēlei ir arī skaidra robeža. Tā maršrutē Fabric SSH savienojumu. Komanda, kas izpildīta attālinātajā resursdatorā un vēlāk lejupielādē repozitoriju vai pakotni, izveido jaunu izejošo savienojumu no šī resursdatora saskaņā ar šīs programmas pašas starpniekservera konfigurāciju.

Saistītie raksti