Fabric'тин алыскы буйруктары SSH аркылуу жүрөт. Ошол SSH байланышын SOCKS сервери аркылуу өткөрүү үчүн Fabric'ке SOCKS тилинде сүйлөгөн жана максаттын байт агымын кайтарган туташтыргыч бериңиз.

Fabric 2де киргизилген Connection API буйрук сабын өзүнүн gateway катары кабыл алат. Fabric ошол сапты ProxyCommand катары колдонот. Прокси параметрлерин колдогон OpenBSD-шайкеш nc болсо, конфигурация мындай болушу мүмкүн:

from fabric import Connection

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

Бул мисал кадимки SSH портун, 22ни колдонот. Туташтыргычтын -X 5 SOCKS5 тандайт, ал эми -x проксинин акыркы чекитин көрсөтөт. Хост жана порт орун толтургучтары SSH максатын берет. Коомдук SSH максаты үчүн SOCKS5 проксилеринин тизмесинен аутентификация талап кылбаган акыркы чекит ошол максат менен портко уруксат берсе, прокси дарегин толтура алат. Буйрукту машинага орнотулган чыныгы туташтыргычтын параметрлери менен конфигурациялаңыз; nc деп аталган программалардын баары бирдей интерфейс бербейт.

Туташтыргыч Fabric иштеген жерде, жергиликтүү иштейт. Колдонмо серверине бул жардамчы SSH максаты болгондуктан гана керек эмес. Агым түзүлгөндөн кийин Fabric дагы эле SSH сүйлөшүүсүн жүргүзүп, deploy эсебин app.example.net ичинде аутентификациялайт. SOCKS сервери талап кылган ар кандай аутентификация туташтыргычка таандык жана ал тарабынан колдоого алынышы керек.

Fabric ошондой эле ProxyCommand SSH конфигурациясынан окуй алат. Бир маршрутту бир нече SSH куралы колдонгондо бул ыңгайлуу болушу мүмкүн. Байланыш үчүн бир максатталган шлюз аныктамасын колдонуңуз, ошол эле максат үчүн буйрук стилиндеги шлюзду өзүнчө секирүү хостунун шлюзу менен айкалыштырбаңыз.

Ортомчу SSH сервери болгондо

Fabric'тин Connection объектиси gateway катары берилсе, башка маани билдирет: Fabric ошол SSH шлюзуна туташып, акыркы хостко канал сурайт. Бул форманы SSH секирүү хосту үчүн колдонуңуз. SOCKS угуучусу SSH сервери эмес, ошондуктан ага жогорудагы буйрук стилиндеги туташтыргыч керек.

Бул транспорт тандоосунун да ачык чеги бар. Ал Fabric'тин SSH байланышын маршруттайт. Алыскы хостто аткарылган буйрук кийин репозиторий же пакет жүктөсө, ошол хосттон жаңы чыгуучу байланыш түзөт, ошол программанын өз прокси конфигурациясына ылайык.

Тектеш макалалар