SSH atvirkštinis dinaminis persiuntimas: nuotolinio SOCKS klausytojo kūrimas
Sukurkite atvirkštinį dinaminį SOCKS klausytoją SSH serveryje, kai paskirties ryšiai atidaromi kliento pusėje.
Paprastai SSH SOCKS tunelis suteikia nešiojamajam kompiuteriui serverio tinklo išėjimą. Atvirkštinis dinaminis persiuntimas apverčia šią tvarką: nuotolinės mašinos programa gali naudotis tinklu, kurį turi jūsų SSH klientas.
OpenSSH kliente, palaikančiame nuotolinį persiuntimą be paskirties:
ssh -N -R 127.0.0.1:1080 [email protected]
SOCKS klausytojas yra remote.example.net adresu, susietas su savo loopback adresu. Programos ten naudoja 127.0.0.1:1080. Paskirties ryšiai keliauja atgal per SSH ir atidaromi toje pusėje, kur veikia jūsų klientas.
Perskaitykite kryptį prieš IP
-R dokumentacija praleistą paskirtį padaro reikšmingą. Specifikacija su port:host:hostport yra fiksuotas persiuntimas. Nemanukite, kad senas klientas palaiko trumpesnę dinaminę formą.
Išorinis IP yra tas, kurį jūsų kliento pusės tinklas naudoja tiems ryšiams. Nešiojamasis kompiuteris už namų maršrutizatoriaus gali išeiti per maršrutizatoriaus išverstą viešąjį adresą. Tai ne automatiškai SSH serverio IP ir ne adresas, tiesiogiai priskirtas nešiojamajam kompiuteriui.
Laikykite nuotolinį klausytoją apribotą. Susiejimas su pakaitos simboliu gali leisti kitoms mašinoms naudoti jūsų kliento pusės tinklą kaip išėjimą pagal serverio politiką. Net loopback gali būti pasiekiamas kitiems tinkamiems procesams nuotoliniame hoste; tai nėra kiekvieno proceso paslaptis.
Dėl apriboto paskirčių rinkinio peržiūrėkite PermitRemoteOpen ir serverio persiuntimo politiką. Maršrutas taip pat priklauso nuo to, ar jūsų klientas lieka prisijungęs. Kai tas ryšys uždaromas, nuotolinis proxy kelias išnyksta. Atvirkštinis persiuntimas keičia, iš kur kyla ryšiai; jis nesuteikia savarankiško proxy, nepriklausomo nuo SSH sesijos.