AsyncSSH forward_socks() ద్వారా గతిశీల TCP ఫార్వర్డింగ్ అందిస్తుంది. ఇప్పటికే AsyncSSH ఉన్న అనువర్తనం SSH కనెక్షన్‌పై స్థానిక SOCKS శ్రోతను సృష్టించగలదు:

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 అనువర్తనం ఈ కనెక్షన్‌ను తెరిచి ఉంచి తన ఇతర పనులను అదే ఈవెంట్ లూప్‌లో నడపగలదు.

సంబంధిత వ్యాసాలు