部署远程控制台访问服务Rttys,第三部分服务端(安装Rttys)
安装服务端Rttys之前可选先在客户端安装rtty。服务端采用GO语言实现,前端界面采用vue实现。
CMAKE的安装和客户端RTTY的安装请参考前两篇文章:
Linux远程连接程序工具选型 Webssh与Rtty
部署远程控制台访问服务Rttys,第一部分客户端(安装CMAKE)
部署远程控制台访问服务Rttys,第二部分客户端(安装RTTY)
接下来部署RTTYS服务端 (这里主要基于Linux系统(Centos7)的操作流程:):
一、环境
安装Golang环境(如果尚未安装): 确保安装的Golang版本大于1.17。
下载安装go https://go.dev/dl/go1.22.3.linux-amd64.tar.gz 上传至/home下执行
sudo tar -C /usr/local -xzf /home/go1.22.3.linux-amd64.tar.gz
编辑/etc/profile文件来设置Golang的环境变量。使用vim或其他你喜欢的文本编辑器打开文件: sudo vim /etc/profile 在文件末尾添加以下行(确保路径与你的安装路径一致): # Golang environment export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:/usr/local/go/bin 运行以下命令使刚刚设置的环境变量生效: source /etc/profile 运行以下命令来检查Golang是否已正确安装: go version
二、使用goproxy代理
如果因为网络问题(如“墙”的原因)导致github依赖无法正常导入,可以设置Go的代理。例如,使用goproxy: vim ~/.bashrc
# Golang environment export GO111MODULE=on export GOPROXY=https://goproxy.cn,direct export GOSUMDB=off
source ~/.bashrc
三、下载rttys
使用git从GitHub或Gitee仓库克隆rttys的源码。GitHub的链接为:https://github.com/zhaojh329/rttys 命令为:git clone --recursive https://github.com/zhaojh329/rttys.git
四、编译rttys
这里文件权限放到最大,只用作演示,实际生产根据需要加权
cd /home/rttys/ chmod 777 /home/rttys/build.sh
执行编译命令: ./build.sh linux amd64(假设您是在Linux的amd64架构上编译)
Rttys及Rtty的交叉编译# Rttys官方的Release仅提供amd64与arm64的版本,并没有armhf的版本,且并不支持将rttys部署到子目录下。因此需要手工交叉编译一个Rttys。
五、运行RTTYS
编译完成后,进入rttys-linux-amd64目录(版本号可能有所不同)。 cd /home/rttys/rttys-linux-amd64 运行rttys启动服务端。 chmod u+x ./rttys 运行并保存日志记录,执行rttys.conf配置内容: nohup ./rttys run -c /home/rttys/rttys-linux-amd64/rttys.conf > rttys-log.log 2>&1 &
注(/home/rttys/rttys-linux-amd64/rttys.conf):
#addr-dev: :5912 #addr-user: :5913
# Automatically select an available port in default #addr-http-proxy:
#http-proxy-redir-url:
#ssl-cacert: /etc/rttys/rttys.ca #ssl-cert: /etc/rttys/rttys.crt #ssl-key: /etc/rttys/rttys.key
#token: a1d4cdb1a3cd6a0e94aa3599afcddcf5
# No login required to connect device. # Values can be device IDs separated by spaces, # or a "*" indicates that all devices do not require login # http://localhost:5913/connect/rtty1 #white-list: "*" #white-list: rtty1 rtty2
# database source db: sqlite://rttys.db #db: mysql://rttys:rttys@tcp(localhost)/rttyss
说明:
addr-dev、addr-user相关配置,这里不做更改,服务启动默认5913,有需要修改的朋友这里设置就可以了。
ssl-cacert: /etc/rttys/rttys.ca #这里对于ssl证书相关配置,我做了验证,这里不做设置,通过https域名访问到了Rttys服务,所以这里不设置也不说明了。
token: a1d4cdb1a3cd6a0e94aa3599afcddcf5 #这里的token在接下来的步骤中加以说明,但是我并没有使用,对token的设置使用不是很理解,有了解的老铁可以评论指导下。
#white-list: "*" #这里的*意思是所有的设备在进行连接远程linux时,都不需要走Rttys的登录页。可通过http://Rtty的服务端ip:5913/rtty/设备id进行访问
#white-list: rtty1 rtty2 #这里的意思是只对rtty1、rtty2不需要走登录,其他设备id在连接访问远程linux时都需要登录Rttys。
db: sqlite://rttys.db #意思是sqlite数据库的地址,当服务端rttys运行之后,默认在rttys所在服务器上创建并建立sqlite数据库的连接。sqlite数据库的具体操作会卸载文末。
六、查看rttys状态
ps -ef | grep rttys 查看实时日志: tail -f /var/log/rttys.log
七、sqlite的使用
rttys的配置文件
/home/rttys/rttys-linux-amd64/rttys.conf下的数据连接配置db: sqlite://rttys.db 进入数据库查看数据: cd /home/rttys/rttys-linux-amd64/
执行
sqlite3 rttys.db 查看所有表: .tables 查看账户表: SELECT * FROM account; 删除满足特定条件的行: DELETE FROM account WHERE username = 'newuser'; 添加非admin用户:1表示是管理员,0表示不是) INSERT INTO account (username, password, admin) VALUES ('admin', '123456', 1); 查询该用户: SELECT * FROM account WHERE username = 'admin'; 更新用户名或者密码: UPDATE account SET username = 'newusername' WHERE username = 'oldusername'; UPDATE account SET password = 'newpassword' WHERE username = 'oldusername';
八、其他
配置与访问: 服务端启动后,您可以通过浏览器访问该服务。首先,需要注册一个账号(如果没有的话)。 您可能还需要修改rttys.conf文件来配置web端的用户名和密码。 注意事项: 如果在编译或运行过程中遇到任何问题,请检查是否有任何依赖项未安装或版本不兼容。 确保您的系统满足rttys运行所需的所有要求。
清除go缓存: go clean -modcache
Rttys的token生成
[root@Centos7-Mode-V11 rttys-linux-amd64]# ./rttys token Please set a password: hsiipvcom@19password Your token is: 31a643f706911c43a4af8310c506f29e
如何使用
使用您的 Web 浏览器访问您的服务器: http://your-server-host:5913
,然后点击连接按钮。
直接连接设备,无需 Web 登录(需要在服务端配置设备白名单)
http://your-server-host:5913/connect/devid1
http://your-server-host:5913/connect/devid2
传输文件
从本地传输文件到远程设备
rtty -R
从远程设备传输文件到本地
rtty -S test.txt
最终运行效果:
也可参照我的另一篇文章,对Rttys的运行效果进行了截图。
Linux远程连接程序工具选型 Webssh与Rtty
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1833753.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!