ຫຼັງຈາກຕົວຊ່ວຍ 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 ແທນທ່ານ. ກ່ອນຈະສົ່ງຄືນ, ຕົວເຊື່ອມຕໍ່ຕ້ອງ:

  1. ເຊື່ອມຕໍ່ກັບພຣັອກຊີ ແລະ ສົ່ງຄຳຮ້ອງ CONNECT ທີ່ຖືກຕ້ອງສຳລັບປາຍທາງ.
  2. ສຳເລັດການພິສູດຕົວຕົນຂອງພຣັອກຊີທີ່ຮອງຮັບ ແລະ ກວດສອບສະຖານະອຸໂມງທີ່ສຳເລັດ.
  3. ອ່ານສ່ວນຫົວຂໍ້ຂອງພຣັອກຊີທັງໝົດ, ຈັດການການອ່ານບາງສ່ວນ ແລະ ຮັກສາໄບຕ໌ທີ່ເກີນຂອບເຂດ.
  4. ຈຳກັດການຕັ້ງຄ່າ ແລະ ປິດຊອກເກັດທີ່ຖືກປະຕິເສດ/ຜິດພາດຜ່ານເສັ້ນທາງທຳຄວາມສະອາດຂອງມັນ.

ໃຊ້ຕົວເຊື່ອມຕໍ່ທີ່ໄດ້ຮັບການບຳລຸງຮັກສາສຳລັບວຽກນັ້ນ. ການຊອກຫາວະລີຄວາມສຳເລັດພາສາອັງກິດໃນບັຟເຟີຮັບດຽວ ຈະພາດເສັ້ນສະຖານະທີ່ແຍກ ຂໍ້ຄວາມເຫດຜົນທີ່ປ່ຽນແປງ ແລະ ຫົວຂໍ້ທີ່ບໍ່ຄົບຖ້ວນ. ການເຊື່ອມຕໍ່ TCP ພຣັອກຊີທີ່ສຳເລັດ ບໍ່ແມ່ນອຸໂມງ SSH ທີ່ຍອມຮັບ.

ພຣັອກຊີຕ້ອງອະນຸຍາດພອດ SSH ທີ່ຮ້ອງຂໍ; ການອະນຸຍາດທ່ອງເວັບບໍ່ໄດ້ສ້າງການເຂົ້າເຖິງ CONNECT ຫາພອດ 22. 407 ເກີດຂຶ້ນກ່ອນການເຂົ້າສູ່ລະບົບ SSH, ໃນຂະນະທີ່ຄວາມລົ້ມເຫຼວຂອງບັນຊີ SSH ເກີດຂຶ້ນຫຼັງອຸໂມງ. ແຍກບັນຊີເຫຼົ່ານັ້ນອອກຈາກກັນ.

ປິດລູກຄ້າ SSH ແລະ ຊັບພະຍາກອນທີ່ຕົວເຊື່ອມຕໍ່ເປັນເຈົ້າຂອງເມື່ອສຳເລັດ. ການທີ່ວຽກໜຶ່ງຢຸດການອ່ານຂອງມັນ ບໍ່ໄດ້ປິດການເຊື່ອມຕໍ່ທີ່ມີຊີວິດດ້ວຍຕົວມັນເອງ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ