Cara Instal ttyd pada Server Linux
0 people liked this article
A. Pendahuluan
Dalam pengelolaan server Linux, akses terminal merupakan hal yang sangat penting untuk melakukan administrasi sistem, menjalankan perintah, serta memantau layanan yang berjalan. Biasanya, akses ini dilakukan melalui SSH (Secure Shell) menggunakan aplikasi seperti PuTTY atau terminal bawaan sistem operasi. Namun, ada kalanya kita membutuhkan cara yang lebih praktis dan dapat diakses langsung melalui browser tanpa perlu aplikasi tambahan.
Di sinilah ttyd hadir sebagai solusi, ttyd adalah aplikasi ringan berbasis web yang memungkinkan pengguna untuk mengakses terminal Linux langsung dari browser. Dengan ttyd, administrator dapat menjalankan sesi terminal secara interaktif melalui antarmuka web, mempermudah proses remote management, demonstrasi, maupun integrasi terminal ke dalam aplikasi web.
Pada artikel ini, kita akan membahas langkah-langkah lengkap untuk menginstal ttyd di server Linux, mulai dari proses instalasi, konfigurasi dasar, hingga cara menjalankannya agar bisa diakses melalui browser.
B. Persiapan
Sebelum melakukan installasi, berikut untuk spesifikasi server yang digunakan untuk installasi ttyd.
vCPU : 2 Core
RAM : 2 GB
Storage : 60GB SSD
OS : Ubuntu 20.04
Melakukan update system, dengan menggunakan command berikut
apt update
C. Langkah Installasi
Setelah persiapan, berikut untuk langkah installasi nya :
C.1 Install Dependency
Install dependency untuk ttyd service, dengan menggunakan command berikut
apt install build-essential cmake git libjson-c-dev libwebsockets-dev -y
C.2 Install TTYD Service
Setelah install dependency, kita dapat melakukan tahapan install ttyd service, dengan melakukan clone repository ttyd melalui github terlebih dahulu, menggunakan commmand berikut
git clone https://github.com/tsl0922/ttyd.gitcd ttyd && mkdir buld && cd build
make && make install
C.3 Verifikasi TTYD Service
Setelah installasi ttyd service, kita dapat melakukan verifikasi terlebih dahulu jika ttyd service sudah berhasil di installasi dan dapat running di browser.
ttyd --version
ttyd --writable bash
Setelah dipastikan ttyd service sudah dapat running dengan baik, kita dapat mencoba mengakses terminal service melalui browser menggunakan IP Public dan Port default ttyd service, yaitu 7681.
http://ip-publik:7681
D. Secured TTYD Service
Setelah dapat akses terminal ttyd service di browser, kita perlu lakukan pengamanan ttyd service, agar tidak dapat diakses langsung menggunakan IP Public dan Port saja, dengan membuat prompt login terlebih dahulu serta menambahkan NGINX Reverse Proxy, agar ttyd service dapat diakses menggunakan domain, tidak perlu port saat mengakses nya melalui browser.
D.1 Pointing Domain
Silahkan dapat dilakukan pointing domain terlebih dahulu ke IP Public Server ttyd service.
D.2 Installasi Nginx
Installasi service Nginx serta Certbot Let's Encrypt untuk SSL domain yang digunakan.
apt install -y build-essential cmake git nginx certbot python3-certbot-nginxsystemctl start nginx
systemctl status nginx
D.3 Installasi SSL Certbot
Setelah Nginx berhasil di install, dapat lakukan
certbot certonly --standalone -d namadomain.tld*Note : Untuk namadomain.tld dapat diubah/disesuaikan ke nama domain yang digunakan

D.4 Konfigurasi TTYD Service
Untuk ttyd service, dapat melakukan konfigurasi ttyd service, seperti berikut
nano /etc/systemd/system/ttyd.service[Unit]
Description=Secure ttyd Web Terminal (via Nginx Reverse Proxy)
After=network.target
[Service]
ExecStart=/usr/local/bin/ttyd \
--port 7681 \
--writable \
--check-origin \
--credential "username:password" \
bash
WorkingDirectory=/root
User=root
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target*Note : Untuk username:password dapat disesuaikan dengan username dan password yang diinginkan, disarankan dapat membuat credential yang sesuai standar keamanan pembuatan password.

Reload systemd dan restart ttyd:
systemctl daemon-reload
systemctl restart ttyd
systemctl enable ttyd
Cek Status service ttyd
systemctl status ttyd
D.5 Konfigurasi Vhost
Untuk konfigurasi Vhost dapat menggunakan seperti berikut :
nano /etc/nginx/sites-available/namadomain.tldserver {
listen 80;
server_name namadomain.tld;
# Redirect HTTP ke HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name namadomain.tld;
# Sertifikat Let's Encrypt
ssl_certificate /etc/letsencrypt/live/namadomain.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/namadomain.tld/privkey.pem;
# Proxy ke ttyd
location / {
proxy_pass http://127.0.0.1:7681;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# Timeout WebSocket
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
# CORS (optional, untuk keamanan tambahan)
add_header Access-Control-Allow-Origin https://namadomain.tld;
}
}*Note : Untuk namadomain.tld dapat diubah/disesuaikan ke nama domain yang digunakan

ln -s /etc/nginx/sites-available/namadomain.tld /etc/nginx/sites-enabled/nginx -tsystemctl restart nginx
systemctl status nginxSetelah dilakukan konfigurasi vhost dan restart nginx, pastikan service nginx masih running tanpa kendala

D.6 Verifikasi TTYD Service - Form login + SSL Nginx Reverse Proxy
Kita dapat lakukan verifikasi terlebih dahulu, apakah ttyd service sudah dapat diakses menggunakan form login dengan langsung domain.


E. Kesimpulan
Dengan mengikuti langkah-langkah di atas, kini kamu telah berhasil menginstal dan menjalankan ttyd di server Linux. Melalui ttyd, kamu dapat mengakses terminal langsung dari browser dengan mudah, tanpa perlu menggunakan aplikasi SSH tambahan. Fitur ini sangat berguna untuk kebutuhan remote administration, presentasi interaktif, atau bahkan membangun antarmuka terminal berbasis web untuk proyek tertentu.
Meski praktis, pastikan kamu tetap memperhatikan aspek keamanan, terutama jika ttyd diakses melalui jaringan publik. Gunakan autentikasi dan konfigurasi reverse proxy (HTTPS) agar koneksi tetap aman.
Dengan konfigurasi yang tepat, ttyd dapat menjadi alat yang efisien dan fleksibel untuk mengelola server Linux dari mana saja, langsung melalui web browser.
Semoga artikel ini dapat membantu Anda. Temukan bantuan lainnya melalui Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silahkan hubungi support@biznetgio.com atau (021) 5714567.
Popular Articles
-
Cara Install & Konfigurasi Monitoring Cacti Serta Mengetahui Fungsi Fitur Pada Cacti
15 people say this guide was helpful
-
Cara Mengaktifkan Telnet pada Windows 7, 8 dan 10
5 people say this guide was helpful
-
Install dan Konfigurasi Samba Server pada Ubuntu
5 people say this guide was helpful
-
Cara Membuat atau Menambahkan SSH Key pada Layanan Neo Lite dan NEO Lite Pro
3 people say this guide was helpful