Cara Mengakses Terminal Server Linux di Browser Web Menggunakan Alat 'Wetty (Web + tty)'


Sebagai administrator sistem, Anda mungkin terhubung ke server jarak jauh menggunakan program seperti Terminal GNOME (atau sejenisnya) jika Anda menggunakan desktop Linux, atau klien SSH seperti Putty jika Anda memiliki Mesin Windows, saat Anda melakukan tugas lain seperti menjelajahi web atau memeriksa email Anda.

Bukankah luar biasa jika ada cara untuk mengakses server Linux jarak jauh langsung dari browser web? Beruntung bagi kita semua, ada alat bernama Wetty (Web + tty) yang memungkinkan kita melakukan hal itu – tanpa perlu beralih program dan semuanya dari jendela browser web yang sama.

Menginstal Wetty di Linux

Wetty tersedia dari repositori GitHub pengembangnya. Oleh karena itu, apa pun distribusinya, Anda menggunakan beberapa dependensi yang harus diinstal terlebih dahulu secara manual sebelum mengkloning repositori secara lokal dan menginstal program.

Di distro berbasis RHEL, seperti CentOS, Rocky Linux, dan AlmaLinux, Anda perlu menginstal NodeJS dan repositori EPEL seperti yang ditunjukkan:


yum groupinstall 'Development Tools'
curl -fsSL https://rpm.nodesource.com/setup_17.x | bash -
yum update 
yum install epel-release git nodejs npm

Di Debian dan turunannya, versi NodeJS yang tersedia dari repositori distribusi lebih lama dari versi minimum yang diperlukan untuk menginstal Wetty, jadi Anda harus menginstalnya dari NodeJS Repositori pengembang GitHub:


apt install curl build-essential
curl -fsSL https://deb.nodesource.com/setup_17.x | sudo -E bash -
apt update && apt install -y git nodejs npm

Setelah menginstal dependensi ini, kloning repositori GitHub:

git clone https://github.com/krishnasrinivas/wetty

Ubah direktori kerja menjadi wetty, seperti yang ditunjukkan dalam pesan di atas:

cd wetty

lalu instal Wetty dengan menjalankan:

npm install

Jika Anda mendapatkan pesan kesalahan apa pun selama proses instalasi, harap atasi pesan tersebut sebelum melanjutkan lebih jauh. Dalam kasus saya, kebutuhan akan versi NodeJS yang lebih baru di Debian adalah masalah yang harus diselesaikan sebelum menjalankan npm install dengan sukses.

Memulai Wetty dan Akses Terminal Linux dari Browser Web

Pada titik ini, Anda dapat memulai antarmuka web di port lokal 8080 untuk Wetty dengan menjalankan (ini mengasumsikan direktori kerja Anda saat ini adalah /wetty) :

node app.js -p 8080

Seperti yang Anda lihat pada gambar di bawah ini:

Namun bantulah diri Anda sendiri dan JANGAN masukkan nama pengguna dan sandi Anda karena koneksi ini tidak aman dan Anda tidak ingin kredensial Anda melewati kabel tanpa terlindungi.

Oleh karena itu, Anda harus selalu menjalankan Wetty melalui HTTPS. Mari buat sertifikat yang ditandatangani sendiri untuk mengamankan koneksi kita ke server jarak jauh:

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes

Lalu gunakan untuk meluncurkan Wetty melalui HTTPS.

Harap perhatikan bahwa Anda perlu membuka port HTTPS khusus tempat Anda ingin menjalankan Wetty:

firewall-cmd --add-service=https # Run Wetty in the standard HTTPS port (443)
firewall-cmd --permanent --add-service=https
firewall-cmd --add-port=XXXX/tcp # Run Wetty on TCP port XXXX
nohup node app.js --sslkey key.pem --sslcert cert.pem -p 8080 &

Perintah terakhir dalam urutan di atas akan memulai Wetty di latar belakang mendengarkan pada port 8080. Karena kita menggunakan sertifikat yang ditandatangani sendiri, diharapkan browser akan menampilkan peringatan keamanan – Sangat aman untuk mengabaikannya dan menambahkan pengecualian keamanan – baik secara permanen atau untuk sesi saat ini:

Setelah Anda mengonfirmasi pengecualian keamanan, Anda akan dapat masuk ke VPS Anda menggunakan Wetty. Tentu saja Anda dapat menjalankan semua perintah dan program seolah-olah Anda sedang duduk di depan terminal nyata atau virtual, seperti yang dapat Anda lihat pada tampilan layar berikut: