Kif toħloq SSH Tunneling jew Port Forwarding fil-Linux


SSH tunneling (imsejjaħ ukoll SSH port forwarding) huwa sempliċement rotta t-traffiku tan-netwerk lokali permezz ta 'SSH għal hosts remoti. Dan jimplika li l-konnessjonijiet kollha tiegħek huma assigurati bl-użu tal-kriptaġġ. Jipprovdi mod faċli biex titwaqqaf VPN bażiku (Netwerk Privat Virtwali), utli għall-konnessjoni ma 'netwerks privati fuq netwerks pubbliċi mhux sikuri bħall-Internet.

Tista' wkoll tintuża biex tesponi servers lokali wara NATs u firewalls għall-Internet fuq mini siguri, kif implimentat f'ngrok.

[ Tista 'tħobb ukoll: Kif Tiżgura u Tibbies OpenSSH Server ]

Is-sessjonijiet SSH jippermettu konnessjonijiet tan-netwerk ta' tunneling awtomatikament u hemm tliet tipi ta 'trażmissjoni tal-port SSH: port forwarding lokali, remot u dinamiku.

F'dan l-artikolu, aħna se nuru kif malajr u faċilment twaqqaf SSH tunneling jew it-tipi differenti ta 'port forwarding fil-Linux.

Għall-iskop ta 'dan l-artikolu, qed nużaw is-setup li ġej:

  1. Ospitanti Lokali: 192.168.43.31
  2. Ospitanti mill-bogħod: Linode CentOS 7 VPS bl-isem tal-host server1.example.com.

Normalment, tista 'tikkonnettja b'mod sigur ma' server remot billi tuża SSH kif ġej. F'dan l-eżempju, ikkonfigurajt il-login SSH mingħajr password bejn l-hosts lokali u remoti tiegħi, għalhekk ma talbitx il-password tal-admin tal-utent.

$ ssh [email   

SSH Port Forwarding Lokali

Dan it-tip ta 'port forwarding iħallik tikkonnettja mill-kompjuter lokali tiegħek għal server remot. Jekk wieħed jassumi li inti wara firewall restrittiv jew imblukkat minn firewall li joħroġ milli jaċċessa applikazzjoni li taħdem fuq il-port 3000 fuq is-server remot tiegħek.

Tista' tibgħat port lokali (eż. 8080) li mbagħad tista' tuża biex taċċessa l-applikazzjoni lokalment kif ġej. Il-bandiera -L tiddefinixxi l-port mibgħut lill-host remot u l-port remot.

$ ssh [email  -L 8080:server1.example.com:3000

Iż-żieda tal-bandiera -N tfisser ma tesegwixxix kmand mill-bogħod, ma jkollokx qoxra f'dan il-każ.

$ ssh -N [email  -L 8080:server1.example.com:3000

Is-swiċċ -f jagħti struzzjonijiet lil ssh biex jaħdem fl-isfond.

$ ssh -f -N [email  -L 8080:server1.example.com:3000

Issa, fuq il-magna lokali tiegħek, iftaħ browser, minflok ma taċċessa l-applikazzjoni remota billi tuża l-indirizz server1.example.com:3000, tista' sempliċement tuża localhost:8080 jew 192.168.43.31: 8080, kif muri fil-screenshot hawn taħt.

Remote SSH Port Forwarding

It-trażmissjoni mill-bogħod tal-port jippermettilek tikkonnettja mill-magna remota tiegħek mal-kompjuter lokali. B'mod awtomatiku, SSH ma jippermettix port forwarding mill-bogħod. Tista 'tippermetti dan billi tuża d-direttiva GatewayPorts fil-fajl tal-konfigurazzjoni prinċipali SSHD tiegħek /etc/ssh/sshd_config fuq il-host remot.

Iftaħ il-fajl għall-editjar billi tuża l-editur favorit tal-linja tal-kmand tiegħek.

$ sudo vim /etc/ssh/sshd_config 

Fittex id-direttiva meħtieġa, neħħi l-kumment tagħha, u ssettja l-valur tagħha għal iva, kif muri fil-screenshot.

GatewayPorts yes

Issejvja l-bidliet u ħruġ. Sussegwentement, għandek bżonn terġa 'tibda sshd biex tapplika l-bidla riċenti li għamilt.

$ sudo systemctl restart sshd
OR
$ sudo service sshd restart 

Imbagħad mexxi l-kmand li ġej biex tgħaddi l-port 5000 fuq il-magna remota lejn il-port 3000 fuq il-magna lokali.

$ ssh -f -N [email  -R 5000:localhost:3000

Ladarba tifhem dan il-metodu ta 'mini, tista' faċilment u b'mod sigur tesponi server ta 'żvilupp lokali, speċjalment wara NATs u firewalls għall-Internet fuq mini sikuri. Mini bħal Ngrok, pagekite, localtunnel, u ħafna oħrajn jaħdmu b'mod simili.

Trasmissjoni Dinamika tal-Port SSH

Dan huwa t-tielet tip ta 'port forwarding. B'differenza mill-port forwarding lokali u remot li jippermetti komunikazzjoni ma' port wieħed, jagħmel possibbli, firxa sħiħa ta 'komunikazzjonijiet TCP f'firxa ta' portijiet. It-trażmissjoni dinamika tal-port iwaqqaf il-magna tiegħek bħala server proxy SOCKS li jisma' fuq il-port 1080, b'mod awtomatiku.

Biex nibdew, SOCKS huwa protokoll tal-Internet li jiddefinixxi kif klijent jista' jikkonnettja ma' server permezz ta' proxy server (SSH f'dan il-każ). Tista 'tippermetti port forwarding dinamiku billi tuża l-għażla -D.

Il-kmand li ġej se jibda prokura SOCKS fuq il-port 1080 li jippermettilek tikkonnettja mal-host remot.

$ ssh -f -N -D 1080 [email 

Minn issa 'l quddiem, tista' tagħmel applikazzjonijiet fuq il-magna tiegħek tuża dan is-server proxy SSH billi teditja s-settings tagħhom u tikkonfigurahom biex tużah, biex tikkonnettja mas-server remot tiegħek. Innota li l-prokura SOCKS se tieqaf taħdem wara li tagħlaq is-sessjoni SSH tiegħek.

F'dan l-artikolu, spjegajna d-diversi tipi ta 'trażmissjoni tal-port minn magna għal oħra, għat-traffiku tal-mini permezz tal-konnessjoni SSH sigura. Dan huwa wieħed mill-ħafna użi ta 'SSH. Tista' żżid il-vuċi tiegħek ma' din il-gwida permezz tal-formola ta' feedback hawn taħt.

Attenzjoni: SSH port forwarding għandu xi żvantaġġi konsiderevoli, jista 'jiġi abbużat: jista' jintuża biex jevita l-monitoraġġ tan-netwerk u l-programmi ta 'filtrazzjoni tat-traffiku (jew firewalls). L-attakkanti jistgħu jużawha għal attivitajiet malizzjużi. Fl-artiklu li jmiss tagħna, se nuru kif tiddiżattiva l-ispedizzjoni tal-port lokali SSH. Ibqgħu konnessi!