Lẹ́yìn tí olùrànlọ́wọ́ HTTP CONNECT bá ti dá ìwàlàjà padà sí ẹ̀rọ SSH tí a fẹ́, fi ṣíṣàn yẹn fún 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.

Rọ́pò ẹ̀rọ àpẹẹrẹ náà kí o sì gbé dátà known-hosts tó tọ́ ti ìgbékalẹ̀ náà wọlé. tunnel gbọ́dọ̀ ti darí sí ẹ̀rọ yẹn náà. Orúkọ ẹ̀rọ tí a fi fún connect ń dámọ̀ kọ́kọ́rọ́ ẹ̀rọ SSH, kì í ṣe proxy.

Ẹ̀ka sock gba socket tí ó ṣí sílẹ̀ tàbí ohun tí ó dà bí socket. Kì í ṣe ìjíròrò HTTP fún ọ. Kí ó tó dá a padà, olùsopọ̀ gbọ́dọ̀:

  1. Sopọ̀ mọ́ proxy kí ó sì fi ìbéèrè CONNECT tó tọ́ ránṣẹ́ sí ibi tí ó ń lọ.
  2. Parí ìjẹ́rìí proxy èyíkéyìí tí a ṣe àtìlẹ́yìn fún kí ó sì fọwọ́ sí ipò ìwàlàjà àṣeyọrí.
  3. Ka gbogbo apá àkọlé proxy, tọ́jú kíkà apá kan àti píparí àwọn byte tí ó kọjá ààlà.
  4. Dín ìtòlẹ́sẹẹsẹ kù kí ó sì ti àwọn socket tí a kọ̀/ẹ̀tọ́ nípasẹ̀ ọ̀nà ìmọ́tótó rẹ̀.

Lo olùsopọ̀ tí a ń tọ́jú fún iṣẹ́ yẹn. Wíwá gbólóhùn àṣeyọrí Gẹ̀ẹ́sì nínú búfà gbígbà kan ṣe àfojúsùn àwọn ìlà ipò tí a pín, ọ̀rọ̀ ìdí tí ń yí padà àti àwọn àkọlé tí kò pé. Ìsopọ̀ TCP proxy àṣeyọrí kì í ṣe ìwàlàjà SSH tí a gbà.

Proxy gbọ́dọ̀ gba ibùdó SSH tí a béèrè; ìyọ̀nda ìwò web kì í fi ìwọlé CONNECT sí ibùdó 22 lélẹ̀. 407 ń ṣẹlẹ̀ kí SSH tó wọlé, nígbà tí ìkùnà àkọsílẹ̀ SSH ń ṣẹlẹ̀ lẹ́yìn ìwàlàjà. Pa àwọn àkọsílẹ̀ yẹn mọ́ lọ́tọ̀ọ̀tọ̀.

Ti ẹ̀rọ SSH àti àwọn ohun tí olùsopọ̀ ní nígbà tí o bá parí. Píparí kíkà iṣẹ́ kan kò ti ìsopọ̀ tí ó wà láàyè fúnra rẹ̀.

Àwọn àpilẹ̀kọ tó jọra