SSH tunelovanie (tiež označované ako presmerovanie portov SSH) je jednoducho smerovanie lokálnej sieťovej prevádzky prostredníctvom SSH k vzdialeným hostiteľom. To znamená, že všetky vaše pripojenia sú zabezpečené šifrovaním. Poskytuje jednoduchý spôsob nastavenia základného VPN (Virtuálna súkromná sieť), užitočné pri pripájaní k súkromným sieťam cez nezabezpečené verejné siete, ako je internet.
Tiež vás môže použiť na vystavenie lokálnych serverov za NAT a firewallmi internetu cez zabezpečené tunely, ako je implementované v ngrok.
[ Tiež sa vám môže páčiť: Ako zabezpečiť a zaistiť server OpenSSH ]
SSH relácie štandardne povoľujú tunelové sieťové pripojenia a existujú tri typy presmerovania portov SSH: miestny, diaľkové a dynamický presmerovanie portov.
V tomto článku si ukážeme, ako rýchlo a jednoducho nastaviť tunelovanie SSH alebo rôzne typy presmerovania portov v systéme Linux.
Na účely tohto článku používame nasledujúce nastavenie:
K vzdialenému serveru sa zvyčajne môžete bezpečne pripojiť pomocou SSH nasledovne. V tomto prípade som nakonfiguroval prihlásenie SSH bez hesla medzi mojimi lokálnymi a vzdialenými hostiteľmi, takže nepožiadal o heslo správcu používateľa.
$ ssh [chránené e -mailom]
Tento typ presmerovania portov vám umožňuje pripojiť sa z miestneho počítača k vzdialenému serveru. Za predpokladu, že sa nachádzate za obmedzujúcim bránou firewall alebo vám odchádzajúca brána firewall zablokovala prístup k aplikácii spustenej na porte 3000 na vašom vzdialenom serveri.
Môžete presmerovať miestny port (napr 8080), ktoré potom môžete použiť na lokálny prístup k aplikácii nasledujúcim spôsobom. The -L
príznak definuje port preposlaný na vzdialeného hostiteľa a vzdialený port.
$ ssh [chránené e -mailom] -L 8080: server1.example.com: 3000.
Pridanie -N
príznak znamená, že nevykonávate vzdialený príkaz, v takom prípade nedostanete shell.
$ ssh -N [chránené e -mailom] -L 8080: server1.example.com: 3000.
The -f
prepínač dáva príkazu ssh, aby bežal na pozadí.
$ ssh -f -N [chránené e -mailom] -L 8080: server1.example.com: 3000.
Teraz na svojom lokálnom počítači otvorte prehliadač, namiesto prístupu k vzdialenej aplikácii pomocou adresy server1.example.com: 3000, môžete jednoducho použiť localhost: 8080
alebo 192.168.43.31:8080
, ako je znázornené na obrázku nižšie.
Vzdialené presmerovanie portov vám umožňuje pripojiť sa zo vzdialeného počítača k miestnemu počítaču. Štandardne SSH nepovoľuje vzdialené presmerovanie portov. Môžete to povoliť pomocou Porty brány v hlavnom konfiguračnom súbore SSHD /etc/ssh/sshd_config na vzdialenom hostiteľovi.
Otvorte súbor na úpravu pomocou svojho obľúbeného editora príkazového riadka.
$ sudo vim/etc/ssh/sshd_config
Vyhľadajte požadovanú smernicu, odkomentujte ju a nastavte jej hodnotu na Áno
, ako je znázornené na obrázku.
Porty brány áno.
Uložte zmeny a ukončite program. Ďalej musíte reštartovať sshd, aby ste mohli použiť poslednú zmenu, ktorú ste vykonali.
$ sudo systemctl reštartujte sshd. ALEBO. $ sudo service sshd reštart
Potom spustite nasledujúci príkaz na presmerovanie portu 5000 na vzdialenom počítači do portu 3000 na miestnom počítači.
$ ssh -f -N [chránené e -mailom] -R 5000: localhost: 3000.
Akonáhle porozumiete tejto metóde tunelovania, môžete ľahko a bezpečne odhaliť lokálny vývojový server, najmä za NAT a firewallmi, na internete cez zabezpečené tunely. Tunely ako napr Ngrok, pagekite, miestny tunel, a mnoho ďalších funguje podobným spôsobom.
Toto je tretí typ presmerovania portov. Na rozdiel od miestny a diaľkové presmerovanie portov, ktoré umožňuje komunikáciu s jediným portom, umožňuje celý rad komunikácií TCP v celom rade portov. Dynamické presmerovanie portov nastaví váš počítač ako SOCKS proxy server ktorý počúva na porte 1080, predvolene.
Pre začiatočníkov, PONOŽKY je internetový protokol, ktorý definuje, ako sa klient môže pripojiť k serveru prostredníctvom servera proxy (v tomto prípade SSH). Dynamické presmerovanie portov môžete povoliť pomocou -D možnosť.
Nasledujúci príkaz spustí proxy server SOCKS na porte 1080 čo vám umožní pripojiť sa k vzdialenému hostiteľovi.
$ ssh -f -N -D 1080 [chránené e -mailom]
Odteraz môžete aplikáciám na svojom počítači umožniť používať tento proxy server SSH tak, že upravíte ich nastavenia a nakonfigurujete ich tak, aby sa používali na pripojenie k vášmu vzdialenému serveru. Všimnite si, že PONOŽKY server proxy prestane fungovať po zatvorení relácie SSH.
Prečítajte si tiež: 5 spôsobov, ako udržať vzdialené relácie SSH spustené po zatvorení SSH
V tomto článku sme vysvetlili rôzne typy presmerovania portov z jedného počítača na druhý na tunelovanie prenosu prostredníctvom zabezpečeného pripojenia SSH. Toto je jedno z veľmi mnohých použití SSH. Do tejto príručky môžete pridať svoj hlas prostredníctvom nižšie uvedeného formulára spätnej väzby.
Pozor: Presmerovanie portov SSH má niektoré značné nevýhody, môže byť zneužité: môže byť použité na obídenie programov monitorovania siete a filtrovania prevádzky (alebo firewallov). Útočníci ho môžu použiť na škodlivé činnosti. V našom ďalšom článku si ukážeme, ako zakázať presmerovanie lokálneho portu SSH. Zostaň pripojený!