rtty – Web端的Linux远程管理工具
- 发表于
- 安全工具
rtty
rtty是一个你可以在任何地方通过Web访问你的设备的终端远程管理工具。通过设备ID(如果不设置则使用设备的MAC地址)来区分你的不同的设备。
它由客户端和服务端组成。客户端采用纯C实现。服务端采用GO语言实现,前端界面采用iview和vue实现。
rtty非常适合远程维护你的或者你公司的部署在全球各地的成千上万的Linux设备。
rtty特性
- 部署简单,使用方便
- 根据设备ID访问不同的设备
- 提供dashboard,直观的展示在线设备
- 基于Xterm.js的全功能终端
- 支持传输文件
- 支持SSL: openssl, mbedtls, CyaSSl(wolfssl)
- 支持设备认证
- 支持远程执行命令
- 客户端非常小,适合嵌入式Linux: rtty(20.1K) + libev(48.5K) + libuwsc(24.4K) = 93K. 如果你希望支持SSL,+libwolfssl(595.9K) = 688.9K
rttys服务端安装和运行
rttys
注意名字,rtty是客户端,rttys是服务端,先安装服务端再安装客户端。
从Release页面下载编译好的二进制文件或者自己编译
1 |
go get -u github.com/zhaojh329/rttys |
查看支持哪些命令行参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
./rttys -h Usage of ./rttys: -addr string address to listen (default ":5912") -conf string config file to load (default "./rttys.conf") -gen-token generate token -ssl-cert string certFile Path (default "./rttys.crt") -ssl-key string keyFile Path (default "./rttys.key") -token string token to use |
以root用户运行(使用系统用户名和密码)
1 |
sudo ./rttys |
以普通用户运行(用户名和密码来自配置文件)
1 |
./rttys |
如何在后台运行模式下查看日志
1 |
cat /var/log/rttys.log |
认证
1 2 3 4 5 |
./rttys -gen-token Please set a password:****** Your token is: 34762d07637276694b938d23f10d7164 ./rttys -token 34762d07637276694b938d23f10d7164 |
rtty客户端安装和运行
客户端依赖
- libev - 高性能的事件循环库
- libuwsc - 一个轻量的针对嵌入式Linux的基于libev的WebSocket客户端C库。
- mbedtls(polarssl)、CyaSSl(wolfssl)或者openssl - 如果你需要支持SSL
Ubuntu, Debian, ArchLinux, Centos
安装
1 |
wget -qO- https://raw.githubusercontent.com/zhaojh329/rtty/master/tools/install.sh | sudo bash |
查看命令行选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Usage: rtty [option] -i ifname # Network interface name - Using the MAC address of the interface as the device ID -I id # Set an ID for the device(Maximum 63 bytes, valid character:letters and numbers and underlines and short lines) - If set, it will cover the MAC address(if you have specify the ifname) -h host # Server host -p port # Server port(Default is 5912) -a # Auto reconnect to the server -v # verbose -d # Adding a description to the device(Maximum 126 bytes) -s # SSL on -k keepalive # keep alive in seconds for this client. Defaults to 5 -V # Show version -D # Run in the background -t token # Authorization token |
运行RTTY(将下面的参数替换为你自己的参数)
1 |
sudo rtty -I 'My-device-ID' -h 'your-server' -p 5912 -a -v -s -d 'My Device Description' |
如果你的rttys配置了一个token,请加上如下参数(将下面的token替换为你自己生成的)
1 |
-t 34762d07637276694b938d23f10d7164 |
rtty使用
使用你的Web浏览器访问你的服务器: https://your-server-host:5912
,然后点击连接按钮。
你可以非常方便的将RTTY嵌入到你现有的平台: https://your-server-host:5912/#/?id=your-id
自动登录: https://your-server:5912/#/?id=device-id&username=device-username&password=device-password
传输文件
从本地传输文件到远程设备
1 |
rtty -R |
从远程设备传输文件到本地
1 |
rtty -S test.txt |
原文连接:rtty – Web端的Linux远程管理工具
所有媒体,可在保留署名、
原文连接
的情况下转载,若非则不得使用我方内容。