Marka kaaliyaha HTTP CONNECT uu tunnel ku soo celiyo serverka SSH ee loogu talagalay, u dhiib qulqulkaas 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.

Beddel martigeliyaha tusaalaha oo soo rar xogta known-hosts ee saxda ah. tunnel waa inuu horey u horseedaa isla serverkaas. Magaca martigeliyaha ee loo gudbiyo connect wuxuu aqoonsadaa furaha martigeliyaha SSH, ma aha proxy-ga.

interface-ka sock wuxuu aqbalaa socket furan ama shay u eg socket. Isagu HTTP kuguma gorgortamo. Ka hor inta aan la soo celin, xidhiidhiyaha waa inuu:

  1. Ku xidhmaa proxy-ga oo u diraa codsi CONNECT ansax ah meesha loo socdo.
  2. Dhammeeyaa wax kasta oo xaqiijin proxy ah oo la taageeray oo xaqiijiyaa xaalad tunnel oo guulaysta.
  3. Akhriyaa qaybta madaxyada proxy oo dhan, isagoo maareynaya akhris qayb ah oo ilaalinaya bytes-ka xadka ka baxsan.
  4. Xaddidaa habaynta oo xidhaa socket-yada la diiday/khaldan leh iyada oo loo marayo waddada nadiifinta.

Isticmaal xidhiidhiye la ilaaliyo shaqaas. Raadinta odhaah guul Ingiriisi ah hal buffer wax-ku-qaadasho ah waxay seegtaa sadarrada xaaladda kala qaybsan, qoraalka sababta beddelmaya iyo madaxyada aan dhamaystirnayn. Xidhiidh TCP proxy oo guulaysta ma aha tunnel-ka SSH ee la aqbalay.

Proxy-ga waa inuu oggolaadaa port-ka SSH ee la codsaday; fasaxa baaritaanka web ma sameeyo gelitaan CONNECT ah oo ku wajahan port 22. 407 waxay dhacdaa ka hor gelitaanka SSH, halka guuldarrada akoonka SSH ay dhacdo tunnel-ka kadib. Akoonnadaas gaar u hay.

Xidh macmiilka SSH iyo kheyraadka uu leeyahay xidhiidhiyaha markaad dhamaysato. In hawshi ay joojiso akhrinteeda lafteedu ma xidho xidhiidh nool.

Maqaallo la xiriira