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ł.