{"id":988,"date":"2009-01-11T14:19:58","date_gmt":"2009-01-11T12:19:58","guid":{"rendered":"https:\/\/versme.net\/blog\/?p=988"},"modified":"2015-04-23T22:29:20","modified_gmt":"2015-04-23T20:29:20","slug":"ssh-tuneliai-paprastai","status":"publish","type":"post","link":"https:\/\/versme.net\/blog\/ssh-tuneliai-paprastai\/","title":{"rendered":"SSH tuneliai paprastai"},"content":{"rendered":"<p>Ar norite savo nam\u0173 tinkle tur\u0117ti atidaryt\u0105 tik vien\u0105 prievad\u0105 (i\u0161 angl. k. \u201eport\u201c) ir per j\u012f gal\u0117ti naudotis visu nam\u0173 tinklu b\u016bdami darbe ar kur kitur? Na, jeigu nam\u0173 tinkle turite SSH server\u012f, kuris pasiekiamas i\u0161 i\u0161or\u0117s (turi atidaryt\u0105 22 ar kit\u0105 \u201e\/etc\/ssh\/sshd_config\u201c nustatyt\u0105 prievad\u0105), tai visai paprasta su PuTTY ir MS Windows (lengvas konfig\u016bravimas &#8211; tai viena i\u0161 prie\u017eas\u010di\u0173 kod\u0117l man taip patinka PuTTY).<\/p>\n<p>O gal naudojat\u0117s VirtualBox 2.0.x ir norite pasiekti virtualius kompiuterius per tinkl\u0105? Tada jums reikia atvirk\u0161tini\u0173 SSH tuneli\u0173, o jiems tereikia SSH serverio ir virtualaus kompiuterio. Ta\u010diau atvirk\u0161tiniai SSH tuneliai pagelb\u0117s ne tik tada, kai naudojat\u0117s VirtualBox, bet ir, kai norite pasiekti sistem\u0105, kuri neturi atidaryto prievado \u012f i\u0161or\u0119. Tam tereik\u0117s specialiai sukonfig\u016bruotu SSH klientu prisijungti i\u0161 nepasiekiamos sistemos \u012f pasiekiam\u0105 ir pasiekiamoje sistemoje jau tur\u0117site prieig\u0105 prie tos, kuri yra u\u017e NAT, ugniasien\u0117s ar dar ko nors, trukdan\u010dio j\u016bs\u0173 darb\u0105.<\/p>\n<p>\u0160iame tinklara\u0161\u010dio \u012fra\u0161e naudosime toki\u0105 schem\u0105: yra 3 kompiuteriai (j\u016bs\u0173 atveju tai gali b\u016bti neb\u016btinai kompiuteriai, bet ir kokie mar\u0161rutizatoriai ar pan.). 2 i\u0161 j\u0173 yra u\u017edarame nam\u0173 tinkle. Pavadinkime juos A ir B. A kompiuteris &#8211; su SSH serveriu. B &#8211; su HTTP\/VNC ar dar kokiu kitu serveriu, kur\u012f norite pasiekti i\u0161 i\u0161or\u0117s. Na, o su tre\u010diuoju (j\u012f i\u0161skirsime \u012f dar du: C (su Microsoft Windows ir PuTTY) ir D (Linux)) kompiuteriu j\u016bs s\u0117dite kavin\u0117je.<br \/>\nV\u0117liau aptariamiem atvirk\u0161tiniam tuneliam naudosime E, F ir G kompiuterius: E &#8211; su Linux, SSH serveriu (ir VirtualBox), F &#8211; su Windows XP, PuTTY, G &#8211; su Linux ir SSH.<\/p>\n<p><strong>Reikalavimai SSH serveriui (A kompiuteriui)<\/strong><br \/>\nTarkime, jog prie\u0161 atsidurdami kavin\u0117je j\u016bs u\u017esitikrinote, jog SSH serveris jau paleistas ir j\u012f galite pasiekti. Jeigu ne, paleiskite j\u012f ir \u012fsitinkite, kad j\u012f galite pasiekti nustatytu prievadu (jeigu nieko nekeit\u0117te konfig\u016bracijose &#8211; tai tur\u0117t\u0173 b\u016bti 22) jungdamiesi PuTTY prie IP adreso, kur\u012f matote <a href=\"http:\/\/whatismyip.org\">whatismyip.org<\/a> svetain\u0117je.<\/p>\n<p><strong>SSH tunelio konfig\u016bracija (C kompiuteryje)<\/strong><br \/>\nDabar, kai jau \u017einote, jog galite valdyti A kompiuter\u012f, laikas nustatyti SSH tunel\u012f i\u0161 B kompiuterio per A. PuTTY programos lange atsidarykite \u201eConnection\u201c&#8211;&gt;\u201eSSH\u201c&#8211;&gt;\u201eTunnels\u201c ir u\u017epildykite raudonu ta\u0161keliu pa\u017eym\u0117tus laukelius:<\/p>\n<p><i>Tr\u016bksta paveiksliuko<\/i><br \/>\n<em>\u201eSource port\u201c &#8211; \u012fra\u0161ykite prievad\u0105, kurio norite, jog klausyt\u0173si PuTTY;<br \/>\n\u201eDestination\u201c &#8211; \u012fveskite kokiu IP ir prievadu tur\u0117t\u0173 kreiptis A kompiuterio SSH serveris, kai j\u016bs kreipsit\u0117s \u012f savo kompiuterio \u201eSource port\u201c.<\/em><\/p>\n<p>Suved\u0119 duomenis paspauskite mygtuk\u0105 \u201eAdd\u201c ir jeigu norite, \u201eSessions\u201c skiltyje galite i\u0161saugoti seans\u0105, jog v\u0117liau nereik\u0117t\u0173 suvesdin\u0117ti visos konfig\u016bracijos. <\/p>\n<p>Nor\u0117dami u\u017etikrinti geresn\u012f darb\u0105, rekomenduojame dar atlikti du dalykus:<br \/>\n1) \u201eConnection\u201c&#8211;&gt;\u201eSSH\u201c pa\u017eym\u0117ti varnel\u0119 \u201eEnable SSH compresion\u201c &#8211; taip sutaupysite srauto ir gausite greitesn\u012f darb\u0105, \u017einoma;<br \/>\n2) \u201eWindow\u201c&#8211;&gt;\u201eTranslation\u201c pasirinkite A kompiuteryje su SSH serveriu naudojam\u0105 koduot\u0119 (tai nelabai siejasi su darbu per SSH tunel\u012f, ta\u010diau tikrai u\u017etikrins, jog bus ma\u017eiau problem\u0173, jeigu nor\u0117site \u012fvykdyti koki\u0105 nors komand\u0105 tame pa\u010diame PuTTY lange), pvz., UTF-8.<\/p>\n<p>Suved\u0119 vis\u0105 konfig\u016bracij\u0105 spustel\u0117kite mygtuk\u0105 \u201eOpen\u201c ir prisijunkite prie A serverio. \u012evykus s\u0117kmingam prisijungimui tur\u0117t\u0173 b\u016bti atidarytas \u201eSource port\u201c prievadas j\u016bs\u0173 kompiuteryje. Pabandykite prie jo prisijungti. Mes pavyzdyje naudojome \u201e192.168.1.1:80\u201c kaip \u201eDestination\u201c ir \u201e80\u201c kaip prievad\u0105, kurio reikia klausytis, tod\u0117l dabar C kompiuterio nar\u0161ykl\u0117je suved\u0119 adres\u0105 \u201elocalhost\u201c (nar\u0161ykl\u0117 numatytai naudos 80 prievad\u0105), i\u0161 tikr\u0173j\u0173, nar\u0161ysime po tai, k\u0105 mums duos 192.168.1.1 (B kompiuteris) serveris (m\u016bs\u0173 atveju tai buvo mar\u0161rutizatorius) kreipiantis \u012f j\u012f su nar\u0161ykle \u012f 80 prievad\u0105.<br \/>\nAnalogi\u0161kai galite jungtis prie VNC ar dar ko &#8211; tiesiog pasileiskite VNC kliento program\u0105 ir suveskite IP laukelyje \u201elocalhost\u201c arba \u201e127.0.0.1\u201c ir prievado laukelyje \u012fra\u0161ykite tai, k\u0105 PuTTY \u012fra\u0161\u0117te \u201eSource port\u201c.<\/p>\n<p><strong>SSH tunelio konfig\u016bracija (D kompiuteryje)<\/strong><br \/>\nLinux sistemose SSH tunel\u012f sukurti yra ypa\u010d paprasta. Ta\u010diau tam daugelyje sistem\u0173 reikalaujama super vartotojo teisi\u0173 tad nepamir\u0161kite komand\u0105 vykdyti prisijung\u0119 kaip root vartotojas (su komanda \u201esu\u201c) arba prie\u0161 j\u0105 prira\u0161\u0119 \u201esudo\u201c:<\/p>\n<blockquote><p><code><em>ssh -L 83:192.168.2.1:80 vartotojas@host<\/em><\/code><\/p><\/blockquote>\n<p><em>83 &#8211; prievadas, kurio bus klausomasi (juo tur\u0117site kreiptis \u012f \u201elocalhost\u201c);<br \/>\n192.168.2.1 &#8211; IP arba \u201ehostname\u201c B kompiuterio, \u012f kur\u012f tur\u0117s kreiptis \u201ehost\u201c (A) kompiuteris;<br \/>\n80 &#8211; prievadas, kurio A kompiuteris kreipsis \u012f 192.168.2.1 (B);<br \/>\nvartotojas &#8211; vartotojo vardas, kurio norite prisijungti prie A kompiuterio;<br \/>\nhost &#8211; A kompiuterio \u201ehostname\u201c arba IP adresas.<\/em><\/p>\n<p><strong>Atvirk\u0161tinis SSH tunelis<\/strong><br \/>\nTokiem SSH tuneliam reikalavimai visi\u0161kai tie patys kaip ir normaliem. Ta\u010diau j\u0173 naudojimas ir paskirtis &#8211; \u017einoma, jog kitokia.<br \/>\nViena da\u017enesni\u0173 prie\u017eas\u010di\u0173, kam jum gali prireikti atvirk\u0161tinio SSH tunelio &#8211; negal\u0117jimas pasiekti sistemos u\u017e NAT. Pavyzd\u017eiui, jeigu naudojat\u0117s VirtualBox 2.0.x &#8211; j\u016bs negal\u0117site net \u201eping&#8217;inti\u201c virtualaus kompiuterio. Ta\u010diau prisijungti prie jo &#8211; vis tiek galite. Ir nesvarbu kokia OS, svarbiausia, jog pagrindin\u0117je sistemoje (E kompiuteryje), kurioje laikote VirtualBox&#8217;\u0105, b\u016bt\u0173 su veikian\u010diu SSH serveriu. Trumpiau kalbant, jums atidaryto SSH prievado reikia tik viename tinkle.<\/p>\n<p><strong>SSH tunelio konfig\u016bracija (F kompiuteryje)<\/strong><br \/>\nPasileiskite PuTTY ir \u201eSession\u201c skiltyje nurodykite:<br \/>\n\u201eHostname (or IP adress)\u201c &#8211; E kompiuterio IP adres\u0105;<br \/>\n\u201ePort\u201c &#8211; E kompiuteryje veikian\u010dio SSH serverio prievad\u0105 (standartinis &#8211; 22).<\/p>\n<p>Eikite \u012f skilt\u012f \u201eConnection\u201c&#8211;>\u201eSSH\u201c&#8211;>\u201eTunnels\u201c, pasirinkite \u201eRemote\u201c ir u\u017epildykite raudonu ta\u0161keliu pa\u017eym\u0117tus laukelius:<\/p>\n<p><i>Tr\u016bksta paveiksliuko<\/i><br \/>\n<em>\u201eSource port\u201c &#8211; \u012fra\u0161ykite prievad\u0105, kurio norite, jog b\u016bt\u0173 klausom\u0105si E kompiuteryje;<br \/>\n\u201eDestination\u201c &#8211; \u012fveskite kokiu IP ir prievadu tur\u0117t\u0173 kreiptis E kompiuterio SSH serveris F kompiuteryje (ar i\u0161 jo&#8230;), kai j\u016bs kreipsit\u0117s \u012f to kompiuterio \u201eSource port\u201c;<br \/>\n\u201eRemote\u201c &#8211; pa\u017eym\u0117kite nor\u0117dami nurodyti, jog atidarytas prievadas b\u016bt\u0173 \u201enuotolinis\u201c ir b\u016bt\u0173 atidaromas nutolusiame kompiuteryje (E), o ne vietiniame (F).<\/em><\/p>\n<p>Suved\u0119 duomenis paspauskite mygtuk\u0105 \u201eAdd\u201c ir jeigu norite, \u201eSessions\u201c skiltyje galite i\u0161saugoti seans\u0105, jog v\u0117liau nereik\u0117t\u0173 suvesdin\u0117ti visos konfig\u016bracijos. <\/p>\n<p>Jeigu norite, galite dar atlikti du dalykus:<br \/>\n1) \u201eConnection\u201c&#8211;&gt;\u201eSSH\u201c pa\u017eym\u0117ti varnel\u0119 \u201eEnable SSH compresion\u201c &#8211; taip sutaupysite srauto ir gausite greitesn\u012f darb\u0105, \u017einoma;<br \/>\n2) \u201eWindow\u201c&#8211;&gt;\u201eTranslation\u201c pasirinkite A kompiuteryje su SSH serveriu naudojam\u0105 koduot\u0119 (tai nelabai siejasi su darbu per SSH tunel\u012f, ta\u010diau tikrai u\u017etikrins, jog bus ma\u017eiau problem\u0173, jeigu nor\u0117site \u012fvykdyti koki\u0105 nors komand\u0105 tame pa\u010diame PuTTY lange), pvz., UTF-8.<\/p>\n<p>Suved\u0119 vis\u0105 konfig\u016bracij\u0105 spustel\u0117kite mygtuk\u0105 \u201eOpen\u201c ir prisijunkite prie E kompiuterio (kuris turi SSH server\u012f (ir yra su VirtualBox)). Dabar E kompiuteryje galite jungtis \u012f \u201elocalhost\u201c \u201eSource port\u201c prievadu.<br \/>\nPavyzdyje mes nustat\u0117me, jog jungdamiesi FTP klientu prie \u201elocalhost\u201c i\u0161 E kompiuterio, pasiektume F kompiuterio FTP server\u012f.<\/p>\n<p><strong>SSH tunelio konfig\u016bracija (G kompiuteryje)<\/strong><br \/>\nSu Linux sistemomis viskas dar papras\u010diau negu su Microsoft Windows: G kompiuteryje \u012fdiegtos Linux OS komandin\u0117je eilut\u0117je su super vartotojo teis\u0117mis (naudojantis \u201esudo\u201c arba root&#8217;u) \u012fvykdykite toki\u0105 komand\u0105:<\/p>\n<blockquote><p><code><em>ssh -R 12345:localhost:21 vartotojas@host<\/em><\/code><\/p><\/blockquote>\n<p><em>12345 &#8211; prievadas, kurio bus klausomasi E kompiuteryje (juo tur\u0117site kreiptis \u012f \u201elocalhost\u201c);<br \/>\nlocalhost &#8211; kur bus kreipiamasi per G kompiuter\u012f;<br \/>\n21 &#8211; prievadas, \u012f kur\u012f bus kreipiamasi per G kompiuter\u012f;<br \/>\nvartotojas &#8211; vartotojo vardas, kurio norite prisijungti prie E kompiuterio;<br \/>\nhost &#8211; E kompiuterio \u201ehostname\u201c arba IP adresas.<\/em><\/p>\n<p>Prisijung\u0119 per SSH j\u016bs jau galite E kompiuteryje jungtis prie G kompiuterio per \u201elocalhost\u201c nurodytu prievadu (pvz., 12345).<br \/>\nPavyzdyje mes nustat\u0117me, jog jungdamiesi FTP klientu prie \u201elocalhost\u201c i\u0161 E kompiuterio, pasiektume F kompiuterio FTP server\u012f.<\/p>\n<p><strong>Kuo SSH tuneliai yra geriau u\u017e jungim\u0105si \u201etiesiogiai\u201c?<\/strong><br \/>\nVisas j\u016bs\u0173 srautas per SSH tunelius bus \u0161ifruojamas ypa\u010d stipriai &#8211; tai vienas i\u0161 pagrindini\u0173 tokio jungimosi plius\u0173. Ta\u010diau tai dar ne viskas &#8211; jums taip pat nereik\u0117s laikyti kr\u016bvos atidaryt\u0173 prievad\u0173, kurie gali tik padidinti galimyb\u0119 \u012fsilau\u017eti \u012f j\u016bs\u0173 sistemas. Gal\u0173 gale &#8211; jums nereik\u0117s prie\u0161 i\u0161einant i\u0161 nam\u0173 apgalvoti koki\u0173 prievad\u0173 jums gali prireikti &#8211; juk j\u016bs visk\u0105 gausite per vien\u0105 SSH prievad\u0105.<\/p>\n<p><em>P. S. Rekomenduojame SSH serveryje vietoje 22 prievado naudoti labai auk\u0161t\u0105 prievad\u0105, pvz., 65210. Taip i\u0161vengsite daugumos tinkl\u0173 skenavim\u0173 ir bandym\u0173 \u012fsilau\u017eti per 22 prievad\u0105.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ar norite savo nam\u0173 tinkle tur\u0117ti atidaryt\u0105 tik vien\u0105 prievad\u0105 (i\u0161 angl. k. \u201eport\u201c) ir per j\u012f gal\u0117ti naudotis visu nam\u0173 tinklu b\u016bdami darbe ar kur kitur? Na, jeigu nam\u0173 tinkle turite SSH server\u012f, kuris pasiekiamas i\u0161 i\u0161or\u0117s (turi atidaryt\u0105 22 ar kit\u0105 \u201e\/etc\/ssh\/sshd_config\u201c nustatyt\u0105 prievad\u0105), tai visai paprasta su PuTTY ir MS Windows (lengvas [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[3,47,16],"tags":[453,463,159,160,456],"class_list":["post-988","post","type-post","status-publish","format-standard","hentry","category-linux","category-patarimai","category-windows","tag-linux","tag-patarimai","tag-putty","tag-tunneling","tag-windows"],"_links":{"self":[{"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/posts\/988","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/comments?post=988"}],"version-history":[{"count":12,"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/posts\/988\/revisions"}],"predecessor-version":[{"id":3627,"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/posts\/988\/revisions\/3627"}],"wp:attachment":[{"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/media?parent=988"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/categories?post=988"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/tags?post=988"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}