GNU/Linux >> Znalost Linux >  >> Linux

Sdílení a ovládání terminálů v reálném čase z webového prohlížeče

Tato příručka vysvětluje, co je TermPair, jak funguje a jak sdílet a ovládat terminály v reálném čase z webového prohlížeče s end-to-end šifrováním pomocí TermPair v Linuxu.

Co je TermPair?

TermPair je webová služba, která umožňuje komukoli prohlížet a ovládat své terminálové relace v reálném čase z webového prohlížeče. Jednoduše řečeno, umožňuje lidem spolupracovat, prohlížet, sdílet, to vše v reálném čase.

Pomocí TermPair můžete rychle, snadno a bezpečně sdílet svůj terminál na webu a přistupovat k němu a také jej ovládat z jakéhokoli zařízení s připojením k internetu.

TermPair používá AES-GCM 128 bit end-to-end šifrování, takže všechna data terminálu jsou bezpečně přenášena mezi klientem a webovým prohlížečem. Server TermPair ani žádné třetí strany nemohou číst přenášená data.

Je zcela zdarma k použití a zdrojový kód TermPair je veřejně dostupný na GitHubu. TermPair je napsán pomocí Pythonu a webových technologií, jako jsou CSS, HTML a JavaScript.

Jak TermPair funguje?

TermPair se skládá z následujících součástí:

  • Server TermPair,
  • Klient terminálu Unix (váš systém),
  • Webový prohlížeč.

Přenos dat probíhá mezi klientem terminálu a prohlížečem, jak je popsáno níže:

1. Nejprve spustíme TermPair server pomocí termpair serve příkaz z našeho systému. Server TermPair funguje jako směrovač mezi vaším terminálem a prohlížečem. Odesílá šifrovaná data mezi terminálovými klienty a připojenými prohlížeči.

2. Server TermPair naslouchá připojením termpair websocket z terminálového klienta Unixu a udržuje mapování na všechny připojené prohlížeče.

3. V terminálovém klientovi Unixu je pseudoterminál (pty ) proces je spuštěn s novým shellem a v systému uživatele je vygenerován šifrovací klíč.

4. Po vygenerování šifrovacího klíče se nová relace klienta zaregistruje na serveru TermPair s jedinečným ID relace.

5. Dále všechny pty IO je zašifrováno pomocí tajného klíče, takže jej server TermPair nemůže přečíst. Po zašifrování dat terminálu jsou data sdílena přes websocket na server TermPair pro další směrování.

6. Server TermPair přijímá a odesílá zašifrovaná data terminálu do prohlížečů přes websocket. Upozorňujeme, že server TermPair neobdrží tajný klíč. Přijímá pouze zašifrovaná data.

7. Prohlížeč získá tajný šifrovací klíč prostřednictvím části adresy URL. Hash adresy URL, který obsahuje tajný klíč, nebude serveru TermPair vystaven.

8. Když prohlížeče obdrží zašifrovaná data, dešifruje je pomocí tajného klíče a nakonec v prohlížeči zobrazí výstup terminálu.

9. Podobně, když jsou data odeslána z prohlížeče do terminálu, jsou zašifrována pomocí tajného klíče a předána serveru TermPair.

10. Server přijme zašifrovaná data a odešle je zpět do terminálu. Data jsou dešifrována pomocí tajného klíče v Terminálu a nakonec zobrazena ve standardním výstupu.

Takto dochází k přenosu dat mezi terminálovým klientem, serverem TermPair a webovým prohlížečem. Všechna data jsou šifrována a bezpečně přenášena z jednoho bodu do druhého.

TermPair funguje na všech shellech, například bash , zsh a funguje se všemi programy, jako je vim , emacs , tmux , ssh atd.

Upozornění

TermPair je dobrý pro ty, kteří chtějí spolupracovat v reálném čase. Má také některé bezpečnostní mezery. Pokud si nedáte pozor, může to být katastrofální chyba.

Nikdy byste to neměli zkoušet na veřejném místě. Někdo může vidět adresu URL ke sdílení a pokusit se získat kontrolu nad vaším systémem. A co je důležitější, musíte si být vědomi toho, co může někdo udělat, když mu dovolíte ovládat váš terminál.

Každý, kdo má TermPair ID ke sdílení (URL), může dělat následující, pokud zná sudo Heslo. Pokud jste relaci zahájili s root uživatele, bylo by to velmi nebezpečné!

  • Mohou zobrazit každý znakový výstup z terminálu.
  • Spouštějte libovolné příkazy
  • Přístup k celému souborovému systému,
  • Zobrazte všechna data ve vašem systému,
  • Smazat všechna data,
  • Restartujte nebo vypněte systém,
  • Nainstalujte malware nebo virus,
  • a cokoli, všechno!

Pokud se nacházíte v uzavřené a důvěryhodné síti nebo pokud ji chcete otestovat na místním systému, pokračujte. Neublíží to.

Nainstalujte TermPair v Linuxu

Aby TermPair fungoval, měli byste mít systém Linux s Pythonem 3.6 a novějším nainstalováno.

Nainstalujte TermPair v Linuxu pomocí pipx nebo pip správci balíčků jako níže:

$ pipx install termpair

Nebo,

$ pip install termpair

TermPair můžete spustit i bez instalace:

Servírujte:

$ pipx run termpair serve

Pak sdílejte:

$ pipx run termpair share --open-browser

Sdílejte a ovládejte terminály v reálném čase z webového prohlížeče pomocí TermPair

1. Spusťte server TermPair pomocí příkazu:

$ termpair serve

Ukázkový výstup:

 INFO:     Started server process [19084]
 INFO:     Waiting for application startup.
 INFO:     Application startup complete.
 INFO:     Uvicorn running on http://localhost:8000 (Press CTRL+C to quit)

To by mělo být spuštěno předtím, než začnete sdílet svůj terminál.

2. Otevřete nové okno nebo kartu Terminálu a spusťte následující příkaz pro sdílení vašeho Terminálu:

$ termpair share --host "http://localhost/" --port 8000

Ukázkový výstup:

 Connection established with end-to-end encryption 🔒
 Sharing '/bin/bash' at
 http://localhost:8000/?terminal_id=0a8cxxxxxxxxxx1234x*&
 Type 'exit' or close terminal to stop sharing.

Bude vygenerováno jedinečné ID relace TermPair, jak je uvedeno výše.

3. Otevřete webový prohlížeč a zkopírujte/vložte ID relace zobrazené v adresním řádku.

Nyní, cokoli napíšete do Terminálu, se objeví v prohlížeči a naopak. Význam - příkazy můžete zadávat buď v prohlížeči nebo v terminálu. Vstup a výstup se objeví v obou oknech. To poskytuje plnou kontrolu každému, kdo má ID relace.

Chcete-li ukončit sdílení terminálu, jednoduše zavřete terminál nebo zadejte exit a stiskněte ENTER . Po zastavení sdílení terminálu přejděte do terminálu, kde je spuštěn TermPair, a stiskněte CTRL+C pro ukončení.

4. Pokud nechcete mít plnou kontrolu, můžete použít --no-browser-control , nebo -n možnost.

Ujistěte se, že je spuštěn server TermPair a spusťte sdílení terminálu v režimu pouze pro čtení, jak je uvedeno níže.

$ termpair serve
$ termpair share --host "http://localhost/" --port 8000 -n

V režimu pouze pro čtení nemohou spouštět žádné příkazy v prohlížeči, ale pouze prohlížet, co je vytištěno v Terminálu. Můžete rozhodnout, kdo může a kdo nemůže ovládat váš terminál.

5. Ve výchozím nastavení poběží TermPair server na portu 8000 . Můžete si také vybrat jakýkoli jiný port dle vašeho výběru. Například následující příkaz spustí server TermPair na portu 8080 .

$ termpair share --host "http://localhost/" --port 8080

6. Pokud chcete po zahájení sdílení automaticky otevřít webový prohlížeč, použijte --open-browser , nebo -b možnost.

$ termpair share --host "http://localhost/" --port 8000 -b

Pamatujte, že před použitím tohoto příkazu musí být spuštěn termpair server.

7. Chcete-li zobrazit sekci nápovědy, spusťte:

$ termpair serve --help
$ termpair share --help

Závěr

TermPair nám pomáhá sdílet vaše relace terminálu s kýmkoli bez velkých potíží. Můžete jej použít, když potřebujete pomoc s kódem. Terminál můžete sdílet se svým důvěryhodným přítelem nebo kolegou. Mohou okamžitě zobrazit vaši terminálovou relaci a přistupovat k ní odkudkoli a pomoci vám, jakkoli je to možné.

Jak již bylo řečeno, musíte být opatrní při sdílení svého terminálu. Pokud nerozumíte tomu, jak to funguje, je pravděpodobně dobré se tomuto nástroji vyhnout.


Linux
  1. Jak vymazat mezipaměť webového prohlížeče z příkazového řádku v Linuxu

  2. Vztah mezi řídicími znaky, signály a terminálem?

  3. Popcorn Time – Streamujte filmy a televizní pořady okamžitě z torrentů

  1. Ovládejte čas a datum svého počítače pomocí systemd

  2. Jak vyhledávat na webu z terminálu v systému Linux

  3. Sledujte souborový systém v reálném čase na OS X a Ubuntu

  1. Odesílejte oznámení a připomenutí na ploše z terminálu Linux

  2. 10 nejlepších webových stránek pro provoz Linuxu ve webovém prohlížeči

  3. Co je disperze NTP a jak ji mohu ovládat?