جب 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 پورٹ کی اجازت دینی چاہیے؛ ویب براؤزنگ کی اجازت پورٹ 22 تک CONNECT رسائی قائم نہیں کرتی۔ 407 SSH لاگ ان سے پہلے پیش آتا ہے، جبکہ SSH اکاؤنٹ کی ناکامی ٹنل کے بعد پیش آتی ہے۔ ان اکاؤنٹس کو الگ رکھیں۔

فارغ ہونے پر SSH کلائنٹ اور کنیکٹر کی ملکیت والے وسائل بند کریں۔ کسی کام کا اپنی قراءتیں روک دینا بذات خود زندہ کنکشن بند نہیں کرتا۔

متعلقہ مضامین