AsyncSSH býður kraftmikla TCP-framsendingu í gegnum forward_socks(). Forrit sem hefur AsyncSSH þegar getur búið til staðbundinn SOCKS-hlustunaraðila yfir SSH-tengingu:

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-þjónninn og reikningurinn eru dæmi. Venjuleg AsyncSSH-athugun á hýsilinnlyklum gildir. Þjónninn verður að leyfa umbeðna TCP-framsendingu. Sem skipanalínujafngildi notar staðbundin kraftmikil framsending OpenSSH sömu stefnu frá SSH til áfangastaðar.

Staðbundnir biðlarar geta nú notað 127.0.0.1:1080 sem SOCKS-endapunkt sinn. Hver SOCKS-beiðni gefur upp áfangastað sinn; SSH-þjónninn opnar samsvarandi útleiðandi TCP-tengingu. Forritið þarf ekki að keyra fjarnámsforrit fyrir hvert URL.

Biðin heldur ósamstæðu fallinu innan umfangs tengingarinnar. Ef snúið er aftur strax eftir að hlustunaraðilinn er búinn til væri farið út úr þessu umfangi og tengingunni sem heldur honum uppi yrði lokað. Stærra asyncio-forrit getur haldið þessari tengingu opinni á meðan það keyrir önnur verkefni sín á sömu atburðarlykkju.

Tengdir greinar