GNU/Linux >> Belajar Linux >  >> Linux

Bagikan Dan Kontrol Terminal Secara Waktu Nyata Dari Peramban Web

Panduan ini menjelaskan apa itu TermPair, cara kerjanya, dan cara berbagi dan mengontrol terminal secara real time dari browser web dengan enkripsi ujung ke ujung menggunakan TermPair di Linux.

Apa itu TermPair?

TermPair adalah layanan web yang memungkinkan siapa saja untuk melihat dan mengontrol sesi Terminal mereka secara real time dari browser web. Sederhananya, ini memungkinkan orang berkolaborasi, melihat, berbagi, semuanya dalam waktu nyata.

Dengan menggunakan TermPair, Anda dapat dengan cepat, mudah, dan aman membagikan Terminal Anda ke Web dan mengakses serta mengontrolnya dari perangkat apa pun yang mendukung Internet.

TermPair menggunakan AES-GCM 128 bit enkripsi ujung ke ujung, sehingga semua data Terminal ditransfer dengan aman antara klien dan browser web. Baik server TermPair maupun pihak ketiga mana pun tidak dapat membaca data yang dikirimkan.

Ini sepenuhnya gratis untuk digunakan dan kode sumber TermPair tersedia untuk umum di GitHub. TermPair ditulis menggunakan Python, dan teknologi web seperti CSS, HTML, dan JavaScript.

Bagaimana cara kerja TermPair?

TermPair terdiri dari komponen berikut:

  • Server TermPair,
  • Klien terminal Unix (sistem Anda),
  • Peramban web.

Transmisi data terjadi antara klien Terminal dan browser seperti yang dijelaskan di bawah ini:

1. Pertama, kita mulai server TermPair dengan termpair serve perintah dari sistem kami. Server TermPair bertindak sebagai router antara Terminal dan browser Anda. Ini mengirimkan data terenkripsi antara klien terminal dan browser yang terhubung.

2. Server TermPair mendengarkan koneksi soket web termpair dari klien terminal Unix, dan memelihara pemetaan ke semua browser yang terhubung.

3. Di klien terminal Unix, sebuah terminal semu (pty ) proses dimulai dengan shell baru dan kunci enkripsi dibuat di sistem pengguna.

4. Setelah kunci enkripsi dibuat, sesi klien baru didaftarkan ke server TermPair dengan ID sesi unik.

5. Selanjutnya, semua pty IO dienkripsi menggunakan kunci rahasia, sehingga server TermPair tidak dapat membacanya. Setelah mengenkripsi data terminal, data tersebut dibagikan melalui soket web ke server TermPair untuk perutean lebih lanjut.

6. Server TermPair menerima dan mengirimkan data terminal terenkripsi ke browser melalui websocket. Harap dicatat bahwa server TermPair tidak menerima kunci rahasia. Ia hanya menerima data terenkripsi.

7. Browser memperoleh kunci enkripsi rahasia melalui bagian dari URL. Hash URL yang berisi kunci rahasia tidak akan diekspos ke server TermPair.

8. Saat browser menerima data terenkripsi, browser akan mendekripsinya menggunakan kunci rahasia dan akhirnya menampilkan output Terminal di browser.

9. Demikian pula, ketika data dikirim dari browser ke terminal, data tersebut dienkripsi menggunakan kunci rahasia, dan diteruskan ke server TermPair.

10. Server menerima data terenkripsi dan mengirimkan data kembali ke Terminal. Data didekripsi menggunakan kunci rahasia di Terminal dan akhirnya ditampilkan dalam output standar.

Ini adalah bagaimana transfer data terjadi antara klien Terminal, server TermPair dan browser web. Semua data dienkripsi dan ditransmisikan dengan aman dari satu titik ke titik lainnya.

TermPair bekerja pada semua shell, misalnya bash , zsh dan bekerja dengan program apa pun seperti vim , emacs , tmux , ssh dll.

Peringatan

TermPair cocok untuk mereka yang ingin berkolaborasi secara real-time. Ini juga memiliki beberapa celah keamanan. Jika Anda tidak hati-hati, itu bisa menjadi kesalahan fatal.

Anda seharusnya tidak pernah mencoba ini di tempat umum. Seseorang mungkin melihat URL yang dapat dibagikan dan mencoba untuk mendapatkan kendali atas sistem Anda. Lebih penting lagi, Anda harus menyadari bahwa apa yang dapat dilakukan seseorang jika Anda mengizinkan mereka mengontrol Terminal Anda.

Siapa pun dengan ID (URL) yang dapat dibagikan TermPair dapat melakukan hal berikut jika mereka mengetahui sudo kata sandi. Jika Anda memulai sesi dengan root pengguna, itu akan sangat berbahaya!

  • Mereka dapat melihat setiap keluaran karakter oleh terminal.
  • Jalankan perintah apa pun,
  • Mengakses seluruh sistem file,
  • Melihat semua data di sistem Anda,
  • Hapus semua data,
  • Mulai ulang atau matikan sistem,
  • Pasang malware atau virus,
  • dan apa saja, semuanya!

Jika Anda berada di jaringan tertutup dan tepercaya, atau jika Anda ingin mengujinya di sistem lokal Anda, silakan. Itu tidak akan membahayakan.

Instal TermPair di Linux

Agar TermPair berfungsi, Anda harus memiliki sistem Linux dengan Python 3.6+ terpasang.

Instal TermPair di Linux menggunakan pipx atau pip pengelola paket seperti di bawah ini:

$ pipx install termpair

Atau,

$ pip install termpair

Anda juga dapat menjalankan TermPair tanpa menginstalnya:

Sajikan:

$ pipx run termpair serve

Kemudian bagikan:

$ pipx run termpair share --open-browser

Bagikan dan kendalikan terminal secara real-time dari browser web menggunakan TermPair

1. Jalankan server TermPair menggunakan perintah:

$ termpair serve

Contoh keluaran:

 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)

Ini harus berjalan sebelum Anda mulai membagikan Terminal Anda.

2. Buka jendela atau tab Terminal baru dan jalankan perintah berikut untuk membagikan Terminal Anda:

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

Contoh keluaran:

 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.

ID sesi TermPair yang unik akan dibuat seperti yang ditunjukkan di atas.

3. Buka browser web Anda dan salin/tempel ID sesi yang ditampilkan di bilah alamat.

Sekarang, apa pun yang Anda ketik di Terminal akan muncul di browser dan sebaliknya. Artinya - Anda dapat mengetikkan perintah di browser atau terminal. Input dan output akan muncul di kedua jendela. Ini memberikan kontrol penuh kepada siapa saja yang memiliki ID sesi.

Untuk keluar dari berbagi Terminal, cukup tutup terminal atau ketik exit dan tekan ENTER . Setelah menghentikan berbagi terminal, buka Terminal tempat TermPair dimulai, dan tekan CTRL+C untuk keluar.

4. Jika Anda tidak ingin memberikan kontrol penuh, Anda dapat menggunakan --no-browser-control , atau -n pilihan.

Pastikan server TermPair dimulai dan mulai berbagi Terminal dalam mode hanya-baca seperti di bawah ini.

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

Dalam mode read-only, mereka tidak dapat menjalankan perintah apa pun di browser tetapi hanya melihat apa pun yang dicetak di Terminal. Anda dapat memutuskan siapa yang dapat dan tidak dapat mengontrol Terminal Anda.

5. Secara default, server TermPair akan berjalan pada port 8000 . Anda juga dapat memilih port lain pilihan Anda. Misalnya, perintah berikut menjalankan server TermPair pada port 8080 .

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

6. Jika Anda ingin membuka browser web secara otomatis setelah Anda mulai berbagi, gunakan --open-browser , atau -b pilihan.

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

Ingatlah bahwa server termpair harus dijalankan sebelum menggunakan perintah ini.

7. Untuk menampilkan bagian bantuan, jalankan:

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

Kesimpulan

TermPair membantu kami membagikan sesi Terminal Anda kepada siapa pun tanpa banyak kesulitan. Anda dapat menggunakannya ketika Anda membutuhkan bantuan dengan kode Anda. Anda dapat berbagi Terminal dengan teman atau kolega yang dapat dipercaya. Mereka dapat langsung melihat dan mengakses sesi terminal Anda dari mana saja dan membantu Anda dengan cara apa pun yang memungkinkan.

Seperti yang sudah dinyatakan, Anda juga harus berhati-hati saat membagikan terminal Anda. Jika Anda tidak memahami cara kerjanya, sebaiknya hindari penggunaan alat ini.


Linux
  1. Hubungan Antara Karakter Kontrol, Sinyal Dan Terminal?

  2. Waktu Popcorn – Streaming Film dan Acara TV Langsung dari Torrents

  3. Apa itu dispersi NTP dan bagaimana cara mengontrolnya?

  1. Kontrol waktu dan tanggal komputer Anda dengan systemd

  2. Cara Mencari Web Dari Terminal Di Linux

  3. Cara Menghapus Cache Browser Web Dari Commandline Di Linux

  1. Kirim pemberitahuan dan pengingat desktop dari terminal Linux

  2. 10 Situs Web Terbaik untuk Menjalankan Linux di Peramban Web

  3. Tonton Filesystem secara Real Time di OS X dan Ubuntu