Skip to content

HSOS6/astrbot_plugin_ssh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

远程SSH执行器

一个功能弱小的 AstrBot 插件,允许您通过聊天窗口连接远程 SSH 服务器并执行命令。支持交互式 Shell 会话、状态保持、LLM 函数调用,并具备不完善的安全保护机制。

风险提示:此插件直接执行服务器命令,有高危险性,请在安全环境下使用该插件,因本插件造成的数据丢失等问题,与作者无关!

✨ 功能特性

  • 交互式 Shell:支持 cdexport 等上下文命令,状态在会话期间保持。
  • 自动图片渲染:命令输出过长时自动转换为图片发送,保持聊天界面整洁。
  • LLM 函数调用:支持大语言模型通过工具调用执行 SSH 命令(如“帮我看看服务器内存占用”)。
  • 安全保护
    • 仅限管理员使用。
    • 内置黑名单,禁止 LLM 执行 rm -rfmkfs 等高危指令。
  • 智能管理
    • 自动管理 SSH 连接,闲置 30 分钟(可配置)后自动断开。
    • 支持 /ssh out 手动断开连接。

🛠️ 安装与配置

1. 安装插件

将本插件文件夹 astrbot_plugin_ssh 放置于 AstrBot 的 data/plugins/ 目录下。

2. 配置文件

启用插件后,请在 AstrBot 管理面板 -> 插件配置中填写服务器信息:

配置项 描述 默认值
host SSH 服务器地址 (IP 或域名) 192.168.1.128
port SSH 端口 22
username 登录用户名 xjy
password 登录密码 (空格)
timeout 连接超时时间 (秒) 10
idle_timeout 闲置自动断开时间 (分钟) 30

⚠️ 注意:密码以明文存储在配置文件中,请确保您的 AstrBot 部署环境安全。

💻 指令使用

注意:所有指令仅限管理员使用。

手动指令

  • 执行命令

    /ssh <命令>
    

    例如:/ssh ls -la/ssh free -m。 由于是交互式 Shell,你可以先 /ssh cd /var/www,下一条 /ssh ls 就会列出 /var/www 的内容。

  • 断开连接

    /ssh out
    

    强制关闭当前 SSH 会话和进程。

LLM 调用

直接在对话中通过自然语言请求:

  • “连接服务器查看一下 CPU 占用”
  • “去 /home/admin 目录下看看有什么文件”
  • “帮我重启一下 nginx 服务” (如果 LLM 判断安全)

🔒 安全说明

为了防止误操作,插件内置了针对 LLM 调用的安全检查,以下命令模式将被拦截:

  • rm -rf / rm -r
  • mkfs (格式化)
  • dd (磁盘操作)
  • shutdown / reboot / init 0
  • Fork炸弹及其他高危操作

📝 更新日志

v1.0.Beta

  • 初始版本发布。
  • 支持交互式 Shell、LLM 调用。

About

使用插件远程ssh操作服务器

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages