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-פּראָגראַם קען האַלטן די פֿאַרבינדונג אָפֿן בשעת עס פֿירט זיך זיינע אַנדערע אויפֿגאַבעס אויפֿן זעלביקן געשעענישן-שלייַף.

פֿאַרבונדענע אַרטיקלען