Deploy and Use rtty for Web‑Based Remote Linux Management
This guide introduces rtty—a lightweight C client, Go server, and Vue front‑end tool for web‑accessible remote Linux terminals—covers its main features, step‑by‑step server deployment, token generation, browser access, and file transfer commands, and provides the open‑source repository link.
Overview
rtty is an open‑source remote terminal solution composed of a lightweight C client, a Go server, and a Vue web front‑end. It provides browser‑based terminal access to Linux devices identified by a unique device ID.
Key Features
Client written in C, ~32 KB without SSL (larger with SSL libraries), suitable for embedded Linux.
Remote batch command execution.
SSL support via OpenSSL, mbedTLS, or CyaSSL (wolfSSL) with optional mutual TLS (mTLS) authentication.
Convenient file upload and download.
Device‑specific access through device IDs.
HTTP proxy support for web access to devices.
Full‑featured terminal powered by Xterm.js.
Simple deployment and easy‑to‑use interface.
Demo
Server Deployment
Install required dependencies for your Linux distribution:
sudo apt install -y libev-dev libssl-dev # Ubuntu/Debian sudo pacman -S --noconfirm libev openssl # ArchLinux sudo yum install -y libev-devel openssl-devel # CentOSClone the source code and build the server:
git clone --recursive https://github.com/zhaojh329/rtty.git cd rtty && mkdir build && cd build
cmake .. && make installRun the server with your own parameters (replace placeholders as needed):
sudo rtty -I 'My-device-ID' -h 'your-server' -p 5912 -a -v -d 'My Device Description'Generate an authentication token:
rttys token
Please set a password: ******
Your token is: 34762d07637276694b938d23f10d7164Start the server using the token:
rttys -t 34762d07637276694b938d23f10d7164Browser Access
Open a web browser and navigate to http://your-server-host:5913, then click the connect button. Direct device connections (requires a whitelist on the server) are also supported:
http://your-server-host:5913/connect/devid1 http://your-server-host:5913/connect/devid2
File Transfer
Transfer files from the local machine to the remote device: rtty -R Transfer files from the remote device to the local machine:
rtty -S test.txtOpen‑Source Repository
https://github.com/zhaojh329/rtty
Liangxu Linux
Liangxu, a self‑taught IT professional now working as a Linux development engineer at a Fortune 500 multinational, shares extensive Linux knowledge—fundamentals, applications, tools, plus Git, databases, Raspberry Pi, etc. (Reply “Linux” to receive essential resources.)
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
