Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Z racji wygody pracy chciałbym zrobić takie tunelowanie żebym mógł się łączyć z zewnątrz poprzez ssh z komputerem w miejscu pracy który nie ma publicznego IP. Chcę [u]ominąć[/u] konieczność przekierowania portu w gatewayu głównego serwera sieci w budynku w którym jest biuro z powodu lenistwa administratorów :/
słyszałem że da się taki trick zrobic przekierowujac 'jakos' porty wejscia i wyjscia czy cos w tym stylu
z góry dzięki za wszelkie linki, materiały sugestie które mogą mi się przydać
Offline
Z tego co wiem to nie ma możliwości połączenia się przez ssh z kompem, który jest w jakieś sieci ale nie widać go z zewnątrz. Jeśli potrzebujesz mieć dostęp do konkretnego portu na komputerze w sieci lokalnej, bo np. stoi na nim baza danych. Możesz to zrobić poprzez tunel. Trzeba się w takim przypadku połączyć ssh z kompem, który jest widoczny od Ciebie i jest zarazem bramą do sieci lokalnej. Następnie należy utworzyć tunel do komputera o który Ci konkretnie chodzi.
Dwa ostatnie zdania wykonuje się jednym poleceniem (man ssh).
W wyniku takiego działa osiągniesz efekt, gdzie port z komputera niewidzianego będzie przekierowany wprost na któryś z portów lokalnych na twoim koputerze (jaki tam sobie ustawisz). Acha w pliku konfiguracyjnym ssh na komputerze zestawiającym połączenie (brama sieci lokalnej), musi być ustawiona opcja przekazywania połączeń ssh forwarding, czy jakoś tak. Jeśli tego nie będzie to można jeszcze kombinować z proxy.
Osobiście robiłem coś takiego jakiś czas temu. Łączysz cię po ssh do bramy sieci lokalnej, przez scp kopiujesz pliki i stawiasz jakiś programik co to przekieruje dla ciebie jakieś połączenie.
Jeśli natomiast potrzebujesz pełnej kontroli nad tamtym kompem niewidocznym to zostaje tylko podwójne ssh. Najpierw na komputer widoczny, a potem z niego na ten niewidoczny z zewnątrz.
Innych rzeczy nie próbowałem, ale pewno jest jeszcze sporo innych sposobów.
Pozdrawiam
Offline
Hmm, miałem podobny problem - chce łączyć się z komputerem, który nie ma zewnętrznego IP przez ssh. W necie kiedyś znalazłem taki krótki tutorial jak to zrobić, jednak gdzies mi sie zapodział, więc przedstawie pokrótce, jak ja to robie teraz:
Najpierw daje polecenie
ssh -f -N -R 6022:localhost:22 nazwa_zdalnego_uzytkownika@nazwa_hosta
Z kontekstu mojego użytkownika, nie roota. Następnie łączę się ze zdalnym komputerem:
ssh nazwa_zdalnego_uzytkownika@nazwa_hosta
i wpisuje polecenie:
ssh localhost -p 6022 -l lukasz
gdzie lukasz, to nazwa mojego użytkownika na lokalnym komputerze, z którego wydaje pierwsze polecenie. Oczywiście, możesz popróbować pozmieniać opcję, bądź dodać to do skryptów startowych (ja tak mam). Po więcej informacji odsyłam do manuali bądź do google, gdzie może uda Ci się wykopać tamten poradnik.
Pozdrawiam:)
Offline
Swego czasu szkuałem podobnego rozwiązania i muszę przyznać, że najbardziej spodobało mi się to:
http://proxytunnel.sourceforge.net/paper.php
Sekcja: Setting up a reverse tunnel (i poniższe)
Co prawda sam artykuł tyczy innego trochę tematu jednaku rozwiązanie z automatycznie kreowanym tunelem zwrotnym jest moim zdaniem rewelacyjne.
Powodzenia w tworzeniu własnych konfiguracji.
PS. Przydatna dodatkowa lektura do powyższego (szczególnie o autoryzacji kluczem a nie hasłem):
http://jakilinux.org/aplikacje/sztuczki-z-ssh/
http://jakilinux.org/aplikacje/sztuczki-z-ssh-2-tunele/
Offline
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00137 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.142.200.247' WHERE u.id=1 |
0.00097 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.142.200.247', 1732524019) |
0.00044 | SELECT * FROM punbb_online WHERE logged<1732523719 |
0.00043 | SELECT topic_id FROM punbb_posts WHERE id=58110 |
0.00110 | SELECT id FROM punbb_posts WHERE topic_id=7409 ORDER BY posted |
0.00068 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=7409 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00096 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=7409 ORDER BY p.id LIMIT 0,25 |
0.00083 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=7409 |
Total query time: 0.00696 s |