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 клиент болон холбогчийн эзэмшдэг нөөцийг хаа. Даалгавар уншилтаа зогсоох нь өөрөө амьд холболтыг хаахгүй.

Холбоотой нийтлэлүүд