13 个版本 (1 个稳定版)
2.0.0 | 2020 年 11 月 30 日 |
---|---|
0.2.2 | 2020 年 7 月 17 日 |
0.1.9 | 2020 年 7 月 16 日 |
0.1.7 | 2020 年 6 月 24 日 |
#31 在 #iot-devices
每月 29 次下载
83KB
861 行
remote_shell
remote_shell 通过 pass_ball(由 Rust 编写)运行。使用场景包括无固定 IP 的物联网设备、家庭电脑等。在从机安装远程 shell 客户端后,您可以从远程 shell 主机端像正常的 SSH 过程一样访问。
使用方法
步骤 1:启动 pass_ball 消息队列
克隆 pass_ball(https://github.com/wangmarkqi/pass_ball)并在具有公网 IP 或可访问位置的服务器上运行 main.rs。修改 .env 中的 conf 字符串。
SLAVE_ID = yourid
PASS_URL = http://192.168.177.1:8084
SLAVEID 是从机的 id,从机只对 'use' 命令指定的请求做出响应。
SLAVEID 不应与 pass 消息队列中的主题冲突,最好使用 uuid 作为 SLAVEID 或任何您能确保不会重复的字符串。
步骤 2:启动从机
要使用远程 shell,需要构建两种二进制文件,即从机和主机。此步骤用于从机端。在从机克隆 remote_shell 并在 main.rs 中运行 slave::slave_dispatch::dispatch();
步骤 3:启动主机
此步骤用于主机端。在主机克隆 remote_shell 并运行 host:🐚:run_shell();
步骤 4:使用 "use" 命令启动
首先通过 "use <从机 ID>" 指定从机 ID,然后发送像正常 shell 一样的命令,例如 "cd /home" 等。
终端操作
您可能会发现常用的键如 del、左箭头、右箭头不起作用,因为 remote_shell 重新编写了终端的原始模式。shell 操作键包括:
按箭头键上
返回上一个命令输入。
按箭头键下
转到下一个命令输入。
按退格键
删除前面的输入字符。
按 Tab 键
根据历史输入补充输入命令。
按 Home 键
清除终端。
按 Esc 键
退出 shell。
内置功能
除了标准命令外,例如 Linux 中的 ls、pwd 或 Windows 10 中的 dir,remote_shell 还提供了内置命令。
use <从机 ID>
此命令将指定您要控制的从机。您应该在从机PC上运行第3步,并在.env文件中配置从机ID。此slave_id(使用arg)应与.env文件中的ID相同。
示例:使用远程
发送 <本地文件路径> <远程文件路径>
将本地文件发送到远程。只有小文件有效。
示例:send C://test.txt /home/test.txt
rec <本地文件路径> <远程文件路径>
从远程接收文件。只有小文件有效。
示例:rec C://test1.txt /home/test2.txt
重启
将重启远程计算机。此命令通过异步消息发布通道发送,作为shell崩溃时的最终救援措施。注意,系统重启后自动重启远程shell。
示例:重启
依赖项
~8–19MB
~249K SLoC