SSH-povezave Fabric 2+ prek proxyja SOCKS
Uporabite prehod ProxyCommand iz Fabric s konektorjem, ki podpira SOCKS, medtem ko preverjanje pristnosti SSH ostane vezano na cilj.
Oddaljeni ukazi Fabric potujejo po SSH. Da to SSH-povezavo speljete skozi strežnik SOCKS, dajte Fabric konektor, ki govori SOCKS in vrne bajtni tok cilja.
API Connection, predstavljen v Fabric 2, sprejme niz ukaza kot svoj gateway. Fabric ta niz uporabi kot ProxyCommand. Če je na voljo obstoječi z OpenBSD združljiv nc, ki podpira svoje možnosti proxyja, je konfiguracija lahko:
from fabric import Connection
connection = Connection(
"app.example.net",
user="deploy",
gateway="nc -X 5 -x proxy.example.net:1080 %h %p",
)Ta primer uporablja običajna vrata SSH, 22. -X 5 konektorja izbere SOCKS5, -x pa označi končno točko proxyja. Nadomestna znaka za gostitelja in vrata zagotovita cilj SSH. Za javni cilj SSH lahko neoverjena končna točka s seznama proxyjev SOCKS5 zapolni naslov proxyja, če dovoljuje ta cilj in vrata. Ukaz nastavite glede na možnosti dejanskega konektorja, nameščenega na stroju; programi z imenom nc nimajo vsi enakega vmesnika.
Konektor se izvaja lokalno, tam kjer se izvaja Fabric. Strežnik aplikacije tega pomočnika ne potrebuje samo zato, ker je cilj SSH. Ko je tok vzpostavljen, Fabric še vedno opravi pogajanja SSH in preveri pristnost računa deploy na app.example.net. Vsako preverjanje pristnosti, ki ga zahteva strežnik SOCKS, pripada konektorju in ga mora podpirati.
Fabric lahko prebere tudi ProxyCommand iz konfiguracije SSH. To je lahko priročno, ko isto pot uporablja več orodij SSH. Za povezavo uporabite eno predvideno definicijo prehoda, namesto da bi prehod v slogu ukaza kombinirali z ločenim prehodom gostitelja skoka za isti cilj.
Ko je posrednik strežnik SSH
Predmet Connection iz Fabric, podan kot gateway, pomeni nekaj drugega: Fabric se poveže s tem prehodom SSH in zahteva kanal do končnega gostitelja. To obliko uporabite za gostitelja skoka SSH. Poslušalec SOCKS ni strežnik SSH, zato potrebuje zgoraj opisani konektor v slogu ukaza.
Ta izbira prevoza ima tudi jasno mejo. Usmerja SSH-povezavo Fabric. Ukaz, izveden na oddaljenem gostitelju, ki pozneje prenese repozitorij ali paket, ustvari novo odhodno povezavo s tega gostitelja v skladu z lastno konfiguracijo proxyja tega programa.