Terminal pogryzł człowieka: teleconsole
Masz problemy z ogarnięciem się w linuksowym terminalu? Komendy brzmią dziwacznie, ich parametry są z kosmosu a ty zawsze chciałeś zostać śpiewakiem operowym a nie administratorem swojego własnego systemu? Pozwól zatem żeby koło twojego Linuksa podłubał za ciebie ktoś inny. Z programem teleconsole wymówką nawet nie będzie to, że twój jedyny znajomy od Linuksa przebywa obecnie w obrębie koła podbiegunowego.
Teleconsole jest programem… serwisem… programem… Czymś, co pozwoli naszemu zaufanemu znajomemu podłączyć się do naszej lokalnej sesji w terminalu. Połączenie możemy wykonać w dwojaki sposób – albo z wykorzystaniem terminala (i polecenia teleconsole) albo przeglądarki internetowej (HTTPS). Wszystko to wbrew NATowi i innym przeciwnościom. Jak to działa? Rozwiązanie to wykorzystuje Gravitational Teleport (część komercyjnego produktu od Gravitational Inc.), co samo w sobie jest wariacją na temat serwera SSH. Teleconsole po uruchomieniu tworzy zaszyfrowany tunel do jedynego zaufanego SSH proxy pod adresem teleconsole.com. I przez tak utworzone połączenie druga strona może dostać się do naszej maszyny.
Tworzenie takiej sesji nie ma w sobie nic z czarnej magii. Wystarczy pobrać i uruchomić teleconsole:
curl https://www.teleconsole.com/get.sh | sh
Przezorni mogą ominąć końcówkę | sh i przed uruchomieniem obejrzeć pobrany skrypt. Powyższe pobiera ten skrypt i od razu go instaluje (w /usr/local/bin). Wykorzystanie nowego polecenie teleconsole skutkuje uruchomieniem na naszym komputerze serwera SSH. Tym sposobem utworzymy pomost pomiędzy nami, teleconsole.com i znajomym gdzieś w sieci.
Aby jednak druga strona mogła wykorzystać ten pomost, musimy udostępnić jej wyświetlone w terminalu dane sesji – albo klucz do wykorzystania w poleceniu teleconsole:
teleconsole join tu_nasz_klucz
… albo URL https://eu.teleconsole.com/nasz_klucz do wykorzystania w przeglądarce.
Proste? No pewnie, że proste. Ale jeżeli wahacie się z zadaniem pytania, dlaczego nie można tego samego zrobić z wykorzystaniem zwykłego serwera SSH i ręcznej konfiguracji, to odpowiedź jest prosta. Do tego potrzebna jest znajomość konfiguracji SSH, stworzenie i udostępnienie kluczy szyfrujących, ominięcie NAT, itp. Do doraźnego dostępu powyższe jest jednak jak znalazł.
Ja osobiście pomagam znajomym przez TeamViewer. Nie jest może open source, ale jest multiplatformowy (co jest mi niezbędne), poza tym mogę pomóc nawet z poziomu smartfona.
Ale jak będziesz za kołem podbiegunowym łączył się przez modem satelitarny z prędkością 7kbps a samo połączenie będą co 5 min. zrywać zorze polarne to wtedy TeamViewer może nie dać rady 😉
Wygląda na to, że teleconsole to właśnie taki TeamViewer dla terminala 🙂
No tak średnio bo działa na zupełnie innej zasadzie.
Tak trochę nie fajnie, że skrypt wymaga sudo :/
To wtedy odpadam 😀