Skep ’n plaaslike SOCKS-proxy met SSH
Gebruik OpenSSH se dinamiese aanstuur op 127.0.0.1, hou die proses tydens die sessie aktief en onderskei ’n werkende luisteraar van ’n bereikbare bestemming.
Met gemagtigde SSH-toegang tot ’n bediener kan OpenSSH ’n SOCKS-luisteraar op jou rekenaar skep. Die SSH-verbinding vervoer die aangestuurde verkeer en die afgeleë bediener maak die bestemmingsverbinding.
’n Luisteraar slegs op loopback
ssh -N -T -o ControlPath=none -o ForkAfterAuthentication=no -o ExitOnForwardFailure=yes -D 127.0.0.1:1080 [email protected]
Vervang die rekening en gasheernaam. Die SSH-bediener moet aanstuur toelaat; die administrateur kan aanstuur en bestemmings onafhanklik van rekeningaanmelding beperk.
-D skep dinamiese aanstuur en die uitdruklike loopback-adres beperk die luisteraar tot hierdie rekenaar. -N laat ’n afgeleë opdrag weg; -T laat ’n pseudoterminaal weg. ControlPath=none vermy ’n bestaande deelmeester, terwyl ForkAfterAuthentication=no hierdie oproep in die voorgrond hou.
Hou die proses aan die gang terwyl jy die proxy gebruik. As poort 1080 beset is, kies ’n ander ongebruikte hoë poort en werk die kliënt by. ExitOnForwardFailure=yes laat SSH afsluit as die luisteraar nie geskep kan word nie.
Gebruik die SOCKS-eindpunt
curl --proxy socks5h://127.0.0.1:1080 --noproxy '' --connect-timeout 5 --max-time 15 https://example.com/
Hierdie versoek delegeer die hantering van die bestemmingsnaam deur SOCKS5. Ander toepassings het eie SOCKS-opstelling nodig; ’n HTTP-proxyveld kan nie SOCKS met dié luisteraar praat nie.
Om te kyk watter proses die poort besit:
ss -ltnp 'sport = :1080'
Die bedoelde SSH-proses behoort ’n loopback-luisteraar te besit. ’n Versoek daardeur toets of die afgeleë bediener ook die teiken bereik. Gebruik ’n beheerde bestemming wanneer jy die waargenome uitgang wil ondersoek.
Sessielewensduur
Ctrl-C sluit die SSH-proses, luisteraar en aangestuurde verbindings. ’n Gebreekte SSH-verbinding maak die proxy ook onbeskikbaar.
ExitOnForwardFailure kontroleer die opstelstadium. Dit beëindig nie SSH wanneer elke latere bestemmingsverbinding misluk nie; diagnoseer dus die sessie, plaaslike poort en bestemmingsversoek apart.