Operations 4 min read

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.

Liangxu Linux
Liangxu Linux
Liangxu Linux
Deploy and Use rtty for Web‑Based Remote Linux Management

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 # CentOS

Clone the source code and build the server:

git clone --recursive https://github.com/zhaojh329/rtty.git
cd rtty && mkdir build && cd build
cmake .. && make install

Run 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: 34762d07637276694b938d23f10d7164

Start the server using the token:

rttys -t 34762d07637276694b938d23f10d7164

Browser 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.txt

Open‑Source Repository

https://github.com/zhaojh329/rtty

deploymentLinuxopen-sourceremote terminalrttyweb-access
Liangxu Linux
Written by

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.)

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.