ສົ່ງອຸໂມງ HTTP CONNECT ທີ່ສ້າງແລ້ວໃຫ້ Paramiko
ເຊື່ອມຕໍ່ Paramiko ຜ່ານເສັ້ນທາງ HTTP CONNECT ທີ່ໄດ້ຮັບອະນຸຍາດ ໂດຍຮັກສາການກວດສອບກະແຈໂຮສ SSH.
ຫຼັງຈາກຕົວຊ່ວຍ HTTP CONNECT ສົ່ງອຸໂມງກັບຄືນໄປຫາເຊີບເວີ SSH ທີ່ຕ້ອງການແລ້ວ, ສົ່ງສະຕຣີມນັ້ນໃຫ້ Paramiko:
with paramiko.SSHClient() as client:
client.load_system_host_keys()
client.connect('ssh.example.com',
username='operator',
sock=tunnel,
banner_timeout=10,
auth_timeout=10)
# Use the verified SSH connection.ປ່ຽນໂຮສຕົວຢ່າງ ແລະ ໂຫຼດຂໍ້ມູນ known-hosts ທີ່ຖືກຕ້ອງຂອງການຕິດຕັ້ງ. tunnel ຕ້ອງໄປຫາເຊີບເວີດຽວກັນຢູ່ແລ້ວ. ຊື່ໂຮສທີ່ສົ່ງໃຫ້ connect ກຳນົດກະແຈໂຮສ SSH, ບໍ່ແມ່ນພຣັອກຊີ.
ອິນເຕີເຟສ sock ຮັບຊອກເກັດທີ່ເປີດ ຫຼື ວັດຖຸທີ່ຄ້າຍຄືຊອກເກັດ. ມັນບໍ່ໄດ້ເຈລະຈາ HTTP ແທນທ່ານ. ກ່ອນຈະສົ່ງຄືນ, ຕົວເຊື່ອມຕໍ່ຕ້ອງ:
- ເຊື່ອມຕໍ່ກັບພຣັອກຊີ ແລະ ສົ່ງຄຳຮ້ອງ CONNECT ທີ່ຖືກຕ້ອງສຳລັບປາຍທາງ.
- ສຳເລັດການພິສູດຕົວຕົນຂອງພຣັອກຊີທີ່ຮອງຮັບ ແລະ ກວດສອບສະຖານະອຸໂມງທີ່ສຳເລັດ.
- ອ່ານສ່ວນຫົວຂໍ້ຂອງພຣັອກຊີທັງໝົດ, ຈັດການການອ່ານບາງສ່ວນ ແລະ ຮັກສາໄບຕ໌ທີ່ເກີນຂອບເຂດ.
- ຈຳກັດການຕັ້ງຄ່າ ແລະ ປິດຊອກເກັດທີ່ຖືກປະຕິເສດ/ຜິດພາດຜ່ານເສັ້ນທາງທຳຄວາມສະອາດຂອງມັນ.
ໃຊ້ຕົວເຊື່ອມຕໍ່ທີ່ໄດ້ຮັບການບຳລຸງຮັກສາສຳລັບວຽກນັ້ນ. ການຊອກຫາວະລີຄວາມສຳເລັດພາສາອັງກິດໃນບັຟເຟີຮັບດຽວ ຈະພາດເສັ້ນສະຖານະທີ່ແຍກ ຂໍ້ຄວາມເຫດຜົນທີ່ປ່ຽນແປງ ແລະ ຫົວຂໍ້ທີ່ບໍ່ຄົບຖ້ວນ. ການເຊື່ອມຕໍ່ TCP ພຣັອກຊີທີ່ສຳເລັດ ບໍ່ແມ່ນອຸໂມງ SSH ທີ່ຍອມຮັບ.
ພຣັອກຊີຕ້ອງອະນຸຍາດພອດ SSH ທີ່ຮ້ອງຂໍ; ການອະນຸຍາດທ່ອງເວັບບໍ່ໄດ້ສ້າງການເຂົ້າເຖິງ CONNECT ຫາພອດ 22. 407 ເກີດຂຶ້ນກ່ອນການເຂົ້າສູ່ລະບົບ SSH, ໃນຂະນະທີ່ຄວາມລົ້ມເຫຼວຂອງບັນຊີ SSH ເກີດຂຶ້ນຫຼັງອຸໂມງ. ແຍກບັນຊີເຫຼົ່ານັ້ນອອກຈາກກັນ.
ປິດລູກຄ້າ SSH ແລະ ຊັບພະຍາກອນທີ່ຕົວເຊື່ອມຕໍ່ເປັນເຈົ້າຂອງເມື່ອສຳເລັດ. ການທີ່ວຽກໜຶ່ງຢຸດການອ່ານຂອງມັນ ບໍ່ໄດ້ປິດການເຊື່ອມຕໍ່ທີ່ມີຊີວິດດ້ວຍຕົວມັນເອງ.