Sambungan SSH Fabric 2+ melalui Proksi SOCKS
Gunakan gateway ProxyCommand Fabric dengan penyambung yang menyokong SOCKS sambil mengekalkan pengesahan SSH terikat pada destinasi.
Perintah jauh Fabric bergerak melalui SSH. Untuk membawa sambungan SSH itu melalui pelayan SOCKS, berikan Fabric penyambung yang bercakap SOCKS dan mengembalikan aliran bait destinasi.
API Connection yang diperkenalkan dalam Fabric 2 menerima rentetan perintah sebagai gateway-nya. Fabric menggunakan rentetan itu sebagai ProxyCommand. Dengan nc serasi OpenBSD yang menyokong pilihan proksinya, konfigurasinya boleh jadi:
from fabric import Connection
connection = Connection(
"app.example.net",
user="deploy",
gateway="nc -X 5 -x proxy.example.net:1080 %h %p",
)Contoh ini menggunakan port SSH biasa, 22. -X 5 penyambung memilih SOCKS5, manakala -x menandakan titik akhir proksi. Pemegang tempat hos dan port menyediakan destinasi SSH. Untuk destinasi SSH awam, titik akhir tanpa pengesahan daripada senarai proksi SOCKS5 boleh mengisi alamat proksi jika ia membenarkan destinasi dan port itu. Konfigurasikan perintah dengan pilihan penyambung sebenar yang dipasang pada mesin; program bernama nc tidak semuanya menawarkan antara muka yang sama.
Penyambung berjalan secara setempat, di tempat Fabric berjalan. Pelayan aplikasi tidak memerlukan pembantu itu semata-mata kerana ia destinasi SSH. Setelah aliran terbentuk, Fabric masih melakukan rundingan SSH dan mengesahkan akaun deploy pada app.example.net. Sebarang pengesahan yang diperlukan oleh pelayan SOCKS adalah milik penyambung dan mesti disokong olehnya.
Fabric juga boleh membaca ProxyCommand daripada konfigurasi SSH. Itu boleh memudahkan apabila laluan yang sama digunakan oleh beberapa alat SSH. Gunakan satu takrif gateway yang dimaksudkan untuk sambungan itu, bukan menggabungkan gateway gaya perintah dengan gateway hos lompat berasingan untuk destinasi yang sama.
Apabila perantara ialah pelayan SSH
Objek Connection Fabric yang diberikan sebagai gateway bermaksud sesuatu yang lain: Fabric bersambung ke gateway SSH itu dan meminta saluran ke hos akhir. Gunakan bentuk itu untuk hos lompat SSH. Pendengar SOCKS bukan pelayan SSH, jadi ia memerlukan penyambung gaya perintah di atas.
Pilihan pengangkutan ini juga mempunyai had yang jelas. Ia menghalakan sambungan SSH Fabric. Perintah yang dijalankan pada hos jauh yang kemudian memuat turun repositori atau pakej membuat sambungan keluar baharu dari hos itu, mengikut konfigurasi proksi program itu sendiri.