SSH-konektoj de Fabric 2+ tra SOCKS-prokurilo
Uzu la ProxyCommand-enirejon de Fabric kun konektilo subtenanta SOCKS, dum SSH-aŭtentikigo restas ligita al la celo.
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.