AsyncSSH ໃຫ້ການສົ່ງຕໍ່ TCP ແບບເຄື່ອນໄຫວຜ່ານ forward_socks(). ແອັບພລິເຄຊັນທີ່ມີ AsyncSSH ແລ້ວສາມາດສ້າງຕົວຮັບຟັງ SOCKS ທ້ອງຖິ່ນຢູ່ເທິງການເຊື່ອມຕໍ່ SSH:

import asyncio
import asyncssh

async def main():
    async with asyncssh.connect(
        'jump.example.net', username='operator'
    ) as connection:
        listener = await connection.forward_socks('127.0.0.1', 1080)
        await listener.wait_closed()

asyncio.run(main())

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

ລູກຄ້າທ້ອງຖິ່ນສາມາດໃຊ້ 127.0.0.1:1080 ເປັນຈຸດສຸດທ້າຍ SOCKS ຂອງພວກເຂົາໄດ້ແລ້ວ. ແຕ່ລະຄຳຮ້ອງ SOCKS ຈະໃຫ້ປາຍທາງຂອງຕົນ; ເຊີບເວີ SSH ຈະເປີດການເຊື່ອມຕໍ່ TCP ອອກໄປທີ່ກົງກັນ. ແອັບພລິເຄຊັນບໍ່ຕ້ອງລັນໂຕດາວໂຫຼດຈາກໄລຍະໄກສຳລັບທຸກ URL.

ການລໍຖ້າຮັກສາຟັງຊັນແບບອະສິງຄະໄວ້ໃນຂອບເຂດຂອງການເຊື່ອມຕໍ່. ການກັບຄືນທັນທີຫຼັງສ້າງຕົວຮັບຟັງຈະອອກຈາກຂອບເຂດນັ້ນ ແລະ ປິດການເຊື່ອມຕໍ່ທີ່ຄ້ຳຊູມັນ. ແອັບພລິເຄຊັນ asyncio ທີ່ໃຫຍ່ກວ່າສາມາດເປີດການເຊື່ອມຕໍ່ນີ້ໄວ້ ໃນຂະນະທີ່ເຮັດວຽກອື່ນໆໃນ event loop ດຽວກັນ.

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