Fjernkommandoane til Fabric reiser over SSH. For å føre den SSH-tilkoplinga gjennom ein SOCKS-tenar, gje Fabric ein connector som snakkar SOCKS og returnerer bytestraumen til destinasjonen.

API-et Connection som vart introdusert i Fabric 2 godtek ein kommandostreng som sin gateway. Fabric brukar den strengen som ProxyCommand. Med ein eksisterande OpenBSD-kompatibel nc som støttar proxyvala sine, kan konfigurasjonen vere:

from fabric import Connection

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

Dette dømet brukar den vanlege SSH-porten, 22. -X 5 til connectoren vel SOCKS5, medan -x angir endepunktet til proxyen. Plasshaldarane for vert og port gjev SSH-destinasjonen. For ein offentleg SSH-destinasjon kan eit uautentisert endepunkt frå SOCKS5-proxylista fylle ut proxyadressa om det tillèt den destinasjonen og porten. Konfigurer kommandoen med vala til den faktiske connectoren som er installert på maskina; program med namnet nc har ikkje alle same grensesnitt.

Connectoren køyrer lokalt, der Fabric køyrer. Applikasjonsserveren treng ikkje den hjelparen berre fordi han er SSH-destinasjonen. Når straumen er etablert, utfører Fabric framleis SSH-forhandling og autentiserer deploy-kontoen på app.example.net. All autentisering som SOCKS-tenaren krev, høyrer til connectoren og må støttast av han.

Fabric kan òg lese ein ProxyCommand frå SSH-konfigurasjon. Det kan vere praktisk når same rute blir brukt av fleire SSH-verktøy. Bruk éin tiltenkt gateway-definisjon for tilkoplinga, i staden for å kombinere ein gateway i kommandostil med ein separat jump-host-gateway for same destinasjon.

Når mellomleddet er ein SSH-tenar

Eit Connection-objekt frå Fabric som blir gjeve som gateway, tyder noko anna: Fabric koplar til den SSH-gatewayen og ber om ein kanal til den endelege verten. Bruk den forma for ein SSH jump host. Ein SOCKS-lyttar er ikkje ein SSH-tenar, så han treng connectoren i kommandostil ovanfor.

Dette transportvalet har òg ei klar grense. Det rutar SSH-tilkoplinga til Fabric. Ein kommando som blir køyrd på fjernverten og seinare lastar ned eit repositorium eller ein pakke, lagar ei ny utgåande tilkopling frå den verten, under den eigne proxykonfigurasjonen til det programmet.

Relaterte artiklar