SSH везе Fabric 2+ кроз SOCKS прокси
Користите Fabric-ов ProxyCommand пролаз са конектором који подржава SOCKS, док SSH аутентификација остаје везана за одредиште.
Fabric-ове удаљене наредбе путују преко SSH-а. Да бисте ту SSH везу провели кроз SOCKS сервер, дајте Fabric-у конектор који говори SOCKS и враћа бајтни ток одредишта.
API Connection уведен у Fabric 2 прихвата низ наредбе као свој 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 везу. Наредба извршена на удаљеном хосту која касније преузме репозиторијум или пакет ствара нову одлазну везу с тог хоста, према сопственој прокси конфигурацији тог програма.