ການເຊື່ອມຕໍ່ SSH ຂອງ Fabric 2+ ຜ່ານ SOCKS proxy
ໃຊ້ປະຕູ ProxyCommand ຂອງ Fabric ກັບຕົວເຊື່ອມຕໍ່ທີ່ຮອງຮັບ SOCKS ໂດຍຄົງການພິສູດຕົວຕົນ SSH ໄວ້ກັບປາຍທາງ.
ຄຳສັ່ງທາງໄກຂອງ Fabric ເດີນທາງຜ່ານ SSH. ເພື່ອເອົາການເຊື່ອມຕໍ່ SSH ນັ້ນຜ່ານເຊີບເວີ SOCKS, ໃຫ້ Fabric ມີຕົວເຊື່ອມຕໍ່ທີ່ເວົ້າ SOCKS ແລະສົ່ງກະແສໄບຕ໌ຂອງປາຍທາງກັບຄືນ.
API Connection ທີ່ແນະນຳໃນ Fabric 2 ຮັບສະຕຣິງຄຳສັ່ງເປັນ gateway ຂອງມັນ. Fabric ໃຊ້ສະຕຣິງນັ້ນເປັນ ProxyCommand. ຖ້າມີ nc ທີ່ເຂົ້າກັນໄດ້ກັບ OpenBSD ແລະຮອງຮັບຕົວເລືອກ proxy ຂອງມັນ, ການຕັ້ງຄ່າອາດເປັນ:
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 ກຳນົດຈຸດສິ້ນສຸດຂອງ proxy. ຕົວແທນບ່ອນຂອງໂຮສແລະພອດໃຫ້ປາຍທາງ SSH. ສຳລັບປາຍທາງ SSH ສາທາລະນະ, ຈຸດສິ້ນສຸດທີ່ບໍ່ມີການພິສູດຕົວຕົນຈາກລາຍການ SOCKS5 proxyສາມາດຕື່ມທີ່ຢູ່ proxy ໄດ້ຖ້າມັນອະນຸຍາດປາຍທາງແລະພອດນັ້ນ. ຕັ້ງຄ່າຄຳສັ່ງຕາມຕົວເລືອກຂອງຕົວເຊື່ອມຕໍ່ຕົວຈິງທີ່ຕິດຕັ້ງໃນເຄື່ອງ; ໂປຣແກຣມທີ່ຊື່ nc ບໍ່ໄດ້ໃຫ້ອິນເຕີເຟສດຽວກັນໝົດ.
ຕົວເຊື່ອມຕໍ່ເຮັດວຽກຢູ່ທ້ອງຖິ່ນ, ບ່ອນທີ່ Fabric ເຮັດວຽກ. ເຊີບເວີແອັບບໍ່ຈຳເປັນຕ້ອງມີຕົວຊ່ວຍນັ້ນພຽງເພາະມັນເປັນປາຍທາງ SSH. ເມື່ອກະແສຖືກສ້າງຂຶ້ນ, Fabric ຍັງເຮັດການເຈລະຈາ SSH ແລະພິສູດຕົວຕົນບັນຊີ deploy ຢູ່ app.example.net. ການພິສູດຕົວຕົນໃດໆທີ່ເຊີບເວີ SOCKS ຕ້ອງການເປັນຂອງຕົວເຊື່ອມຕໍ່ ແລະຕ້ອງໄດ້ຮັບການຮອງຮັບຈາກມັນ.
Fabric ຍັງສາມາດອ່ານ ProxyCommand ຈາກການຕັ້ງຄ່າ SSHໄດ້. ອັນນັ້ນອາດສະດວກເມື່ອເສັ້ນທາງດຽວກັນຖືກໃຊ້ໂດຍເຄື່ອງມື SSH ຫຼາຍອັນ. ໃຊ້ນິຍາມປະຕູດຽວທີ່ຕັ້ງໃຈໄວ້ສຳລັບການເຊື່ອມຕໍ່ ແທນທີ່ຈະລວມປະຕູແບບຄຳສັ່ງກັບປະຕູໂຮສກະໂດດແຍກຕ່າງຫາກສຳລັບປາຍທາງດຽວກັນ.
ເມື່ອຕົວກາງເປັນເຊີບເວີ SSH
ວັດຖຸ Connection ຂອງ Fabric ທີ່ໃຫ້ເປັນ gateway ໝາຍຄວາມແຕກຕ່າງ: Fabric ເຊື່ອມຕໍ່ກັບປະຕູ SSH ນັ້ນ ແລະຮ້ອງຂໍຊ່ອງທາງໄປຫາໂຮສສຸດທ້າຍ. ໃຊ້ຮູບແບບນັ້ນສຳລັບໂຮສກະໂດດ SSH. ຕົວຟັງ SOCKS ບໍ່ແມ່ນເຊີບເວີ SSH, ດັ່ງນັ້ນມັນຕ້ອງການຕົວເຊື່ອມຕໍ່ແບບຄຳສັ່ງຂ້າງເທິງ.
ການເລືອກການຂົນສົ່ງນີ້ກໍມີຂອບເຂດທີ່ຊັດເຈນ. ມັນກຳນົດເສັ້ນທາງການເຊື່ອມຕໍ່ SSH ຂອງ Fabric. ຄຳສັ່ງທີ່ເຮັດວຽກຢູ່ໂຮສທາງໄກ ແລ້ວຕໍ່ມາດຶງຄັງເກັບ ຫຼືແພັກເກັດ ຈະສ້າງການເຊື່ອມຕໍ່ອອກໃໝ່ຈາກໂຮສນັ້ນ ຕາມການຕັ້ງຄ່າ proxy ຂອງໂປຣແກຣມນັ້ນເອງ.