Wczoraj zaszła potrzeba połączenia się z terminalem kumpla (HP T5500) który podłączony jest do jego routera. Kumpel nie posiada łącza z publicznym adresem IP, jest za NAT-em. Po chwili wygooglowałem sposób na stworzenie takiego połączenia i zapisuje tutaj jak to uczynić, aby nie zapomnieć...
Na początek musimy nawiązać połączenie z zdalnego komputera z naszym komputerem, w moim przypadku połączenie musiał zestawić kumpel, robimy to tak:
ssh -R 19999:localhost:22 user@naszserwer.com
Zamiast 19999 podajemy port który mamy odblokowany w firewallu na naszej maszynie która ma publiczne IP, user@naszserwer.com jak można się domyślić jest to użytkownik i adres naszej maszyny/shella/whatever z publicznym IP.
Gdy już się zalogujemy, zostawiamy nawiązaną sesję na zdalnym komputerze. Teraz na maszynie z którą został nawiązany tunel klepiemy to:
ssh localhost -p 19999
podmieniając port na taki jak wcześniej. W efekcie został nawiązany tunel na ustalonym porcie, który na terminalu(maszynie za NAT-em) został niejako przekierowany na port SSH - 22.
...może w tym 2012 roku będę więcej pisał :>
Wydaje mi się, że powinno być "za NATem", a nie "zza NATem" :-)
A nawet: "za NAT-em".
Mój głupi nawyk... poprawione :)
co ciekawe takie przekierowanie dziala tez gdy w sieci jest coś pokićkane i łączność działa tylko w jednym kierunku.
mieliśmy w firmie router "zaginiony w akcji" który konfigurował podpięte komputery w adresacji wycofanej z użytku. z niego można było się dostać do zasobów firmowych, ale na niego nie dało się zalogować.
do czasu jego restartu właśnie przekierowanie po ssh było sposobem aby się do niego zdalnie dostać.
generalnie - bez ssh jak bez ręki.