Fabric 2+ SSH-ferbinings fia in SOCKS-proxy
Brûk de ProxyCommand-poarte fan Fabric mei in SOCKS-freonlike ferbining, wylst SSH-autentikaasje oan it doel fêst bliuwt.
De opôfkommando's fan Fabric reizgje oer SSH. Om dy SSH-ferbining troch in SOCKS-tsjinner te stjoeren, jou Fabric in ferbining dy't SOCKS praat en de bytestream fan it doel weromjout.
De Connection-API dy't yn Fabric 2 yntrodusearre waard, akseptearret in kommandostring as syn gateway. Fabric brûkt dy string as ProxyCommand. Mei in besteande OpenBSD-kompatible nc dy't syn proxy-opsjes stipet, kin de konfiguraasje wêze:
from fabric import Connection
connection = Connection(
"app.example.net",
user="deploy",
gateway="nc -X 5 -x proxy.example.net:1080 %h %p",
)Dit foarbyld brûkt de normale SSH-poarte, 22. De -X 5 fan de ferbining kiest SOCKS5, wylst -x it proxy-einpunt oanjout. De plakferfangers foar host en poarte jouwe it SSH-doel. Foar in iepenbier SSH-doel kin in net-autentisearre einpunt út de SOCKS5-proxylist it proxy-adres ynfolje as it dat doel en dy poarte tastiet. Konfigurearje de opdracht mei de opsjes fan de werklike ferbining dy't op de masine ynstallearre is; programma's mei de namme nc biede net allegear deselde ynterface.
De ferbining rint lokaal, dêr't Fabric rint. De applikaasjetsjinner hat dy helper net nedich allinnich om't er it SSH-doel is. Sadree't de stream fêststeld is, docht Fabric noch hieltiten SSH-ûnderhanneling en autentisearret it deploy-akkount op app.example.net. Eltse autentikaasje dy't de SOCKS-tsjinner freget, heart by de ferbining en moat troch har stipe wurde.
Fabric kin ek in ProxyCommand lêze út SSH-konfiguraasje. Dat kin handich wêze as deselde rûte troch ferskate SSH-ark brûkt wurdt. Brûk ien bedoelde poarte-definysje foar de ferbining, ynstee fan in poarte yn kommandostyl te kombinearjen mei in aparte spring-host-poarte foar itselde doel.
As de tuskenpersoan in SSH-tsjinner is
In Connection-objekt fan Fabric dat as gateway jûn wurdt, betsjut wat oars: Fabric ferbynt mei dy SSH-poarte en freget in kanaal nei de definitive host. Brûk dy foarm foar in SSH-spring-host. In SOCKS-harker is gjin SSH-tsjinner, dus hat it de ferbining yn kommandostyl hjirboppe nedich.
Dizze transportkar hat ek in dúdlike grins. It rûtelet Fabric syn SSH-ferbining. In opdracht dy't op 'e fiere host útfierd wurdt en letter in repository of pakket downloadt, makket in nije útgeande ferbining fan dy host, ûnder de eigen proxy-konfiguraasje fan dat programma.