La malproksimaj komandoj de Fabric vojaĝas tra SSH. Por porti tiun SSH-konekton tra SOCKS-servilo, donu al Fabric konektilon, kiu parolas SOCKS kaj redonas la bajtan fluon de la celo.

La API Connection enkondukita en Fabric 2 akceptas komandan ĉenon kiel sian gateway. Fabric uzas tiun ĉenon kiel ProxyCommand. Kun ekzistanta OpenBSD-kongrua nc, kiu subtenas siajn prokurilajn opciojn, la agordo povas esti:

from fabric import Connection

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

Ĉi tiu ekzemplo uzas la normalan SSH-pordon, 22. La -X 5 de la konektilo elektas SOCKS5, dum -x identigas la prokurilan finpunkton. La anstataŭigiloj por gastiganto kaj pordo provizas la SSH-celon. Por publika SSH-celo, neaŭtentikigita finpunkto el la listo de SOCKS5-prokuriloj povas plenigi la prokurilan adreson, se ĝi permesas tiun celon kaj pordon. Agordu la komandon laŭ la opcioj de la efektiva konektilo instalita en la maŝino; programoj nomataj nc ne ĉiuj prezentas la saman interfacon.

La konektilo funkcias loke, tie, kie Fabric funkcias. La aplikaĵservilo ne bezonas tiun helpilon nur ĉar ĝi estas la SSH-celo. Post kiam la fluo establiĝas, Fabric ankoraŭ faras SSH-intertraktadon kaj aŭtentikigas la konton deploy ĉe app.example.net. Ajna aŭtentikigo postulata de la SOCKS-servilo apartenas al la konektilo kaj devas esti subtenata de ĝi.

Fabric ankaŭ povas legi ProxyCommand el SSH-agordo. Tio povas esti oportuna, kiam pluraj SSH-iloj uzas la saman itineron. Uzu unu celitan enirejan difinon por la konekto, anstataŭ kombini komandstilan enirejon kun aparta saltgastiganta enirejo por la sama celo.

Kiam la peranto estas SSH-servilo

Objekto Connection de Fabric liverita kiel gateway signifas ion alian: Fabric konektiĝas al tiu SSH-enirejo kaj petas kanalon al la fina gastiganto. Uzu tiun formon por SSH-salta gastiganto. SOCKS-aŭskultanto ne estas SSH-servilo, do ĝi bezonas la komandstilan konektilon supre.

Ĉi tiu transporta elekto ankaŭ havas klaran limon. Ĝi enkursigas la SSH-konekton de Fabric. Komando plenumita sur la malproksima gastiganto, kiu poste elŝutas deponejon aŭ pakaĵon, faras novan elirantan konekton de tiu gastiganto, laŭ la propra prokurila agordo de tiu programo.

Rilataj artikoloj