我用Rust实现一个为 AI 运维而生的 SSH 客户端,支持: AI + GUI/CLI + 命令块 + 多端数据同步

shihuili1218 2026-06-27 00:05 1

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:



  • 我的帖子已经打上 开源推广 标签: 是

  • 我的开源项目完整开源,无未开源部分: 是

  • 我的开源项目已链接认可 LINUX DO 社区: 是

  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是

  • 以上选择我承诺是永久有效的,接受社区和佬友监督: 是


以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出




我受不了市面上 SSH 客户端了,所有工具都想来我家里抢地盘,撒泡尿还不冲



  • 自己维护 host key,我真不懂为啥?

  • 云同步订阅要收费,稍微能理解,但是我没有付费习惯

  • 自己的专有录制格式,为啥呀?

  • 多平台没有移动端


rssh 的设计反过来:尽可能融入你已有的 Unix 工具链。





一、天生的 AI 运维助手



  • 服务器环境初始化,还在自己安装?

  • CPU/MEM 过高?还在打开AI Chat网页,当命令输入输出的搬运工?

  • 排查bug,还在自己看日志?


SSH 客户端是天生的运维工具,所有命令输入/输出都就经过它。RSSH GUI 提供了多个工具供 LLM 调用,为 LLM 提供了手和脚。


skills 在 src-tauri/src/ai/prompts ,欢迎审查。


当然安全是无比重要的,LLM 的任何操作都必须通过 RSSH 提供的工具,而所有操作都会在 RSSH 层 shape validator + 你的授权。



二、rssh CLI


rssh CLI是一个特殊的存在,你可以在任意终端工具里使用rssh的数据,随时随地rssh open [profile],并且它和 GUI 读同一个 SQLite(~/.rssh/rssh.db)。在 GUI 里加的 Profile,命令行立刻能用;反之亦然。


rssh                       # 列出所有 profile
rssh ls prod # 模糊搜索
rssh open gateway-01 # 直接连
rssh open fwd my-tunnel # 启动一个命名端口转发
rssh add profile # 交互式创建

这意味着你可以把 rssh open foo 塞进任何脚本、alias、Makefile,不需要再维护一份重复的 SSH 配置。





三、零远端配置的 Command Block 色条


终端里翻一屏输出,找上一条命令的起点是个老问题。


Warp 是一个很好的工具,这个问题它解决得漂亮,但它要求你在服务器上改 shell 集成脚本。


rssh 完全前端实现,零服务器改动:



  • 每条命令在左侧画一道竖向色条,输入和输出共享同色

  • 下一条命令自动换色——黄金角 HSL 算法保证相邻颜色对比最大

  • 进入 vim/top/less 这类全屏程序时,色条淡出为半透明灰,不打扰

  • 设置里一键关掉


它不知道你在哪台机器上,也不需要知道。 一次连接立刻生效,包括别人的堡垒机。





四、安全:rssh 不替你保管秘密,但实现了多端同步


绝大多数同类产品的"同步"功能,本质上是把你的密钥上传到它们的服务器,然后向你保证"端到端加密"。问题是:你怎么验证?


rssh 的处理方式分三层:


1. 本地密钥 → 系统钥匙串


密码、私钥的 passphrase,全部走 macOS Keychain / Windows Credential Manager / Linux Secret Service。


你信任你自己的钥匙串,胜过信任任何第三方软件——这个假设是合理的。


2. 远端私钥 → 默认不上传


每条凭据有独立的"是否参与同步"开关。私钥这种东西本就极少变更,用 U 盘、AirDrop、scp 在两台设备之间拷一次,用十年。把它推到云上换"方便",是用安全换懒惰。


3. 配置数据 → 加密后塞进你自己的私有仓库


profile、转发规则、片段这些纯配置数据,加密后推到你自己的 GitHub 私有仓库。不是 rssh 的服务器——rssh 没有服务器。


加密本身没有魔法:salted SHA-256 派生密钥(1000 轮)+ 流式异或 + HMAC-SHA256 认证。


代码在 src-tauri/src/crypto.rs,一百行能读完,欢迎审计。


rssh config set     # 配置 token 和仓库
rssh config push # 推送
rssh config pull # 拉取

底层就是 base64 + GitHub API。**想换工具就换,数据就在你的 repo 里。**没有锁定,没有订阅,没有"导出到 CSV"按钮。





五、和 ssh 共享 ~/.ssh/known_hosts


这是 rssh 和其他 GUI 客户端最根本的哲学差异。


大部分 SSH GUI 客户端(Termius、Tabby…)自己维护一套 host key 数据库。结果是:你在命令行用 ssh 信任过的主机,换到 GUI 里再认一次;GUI 里删掉的指纹,命令行里还在。


rssh 直接读写标准的 ~/.ssh/known_hosts 文件。ssh-keygen -R <host> 删掉的条目 rssh 立刻知道;rssh 里新信任的主机,ssh 也立刻能连。




六、其他开箱即用的能力


不单列,但都实打实干活:



  • asciicast v2:通用的NDJSON格式,不是专有格式。这意味着你录下来的任何一段会话,可以直接 asciinema upload、直接嵌到网页、直接被任何 asciinema 工具消费。

  • 关键词高亮:自定义规则,ERROR / WARN / INFO 自动染色,14 种预设

  • SFTP 浏览:Cmd+O 唤起,拖拽上传下载

  • 命令片段:Cmd+S 唤起可复用命令库

  • 端口转发:本地 / 远程,实时流量统计

  • 跨全平台:macOS(Intel + Apple Silicon)、Windows、Linux(deb/rpm/AppImage)、Android




下载


Releases 页面提供 macOS / Windows / Linux / Android 安装包。


MIT 协议,无登录,无订阅,无广告,无遥测开关——因为压根没有遥测。


这不是商业模式,是工程默认值。SSH 客户端本来就该是一个跑在你机器上的程序,不该是一个 SaaS。




设计哲学一句话:工具要服务你已有的工作方式,而不是逼你为工具让步。

最新回复 (11)
  • shihuili1218 楼主 06-27 00:11
    1楼

    体验过了,记得回来说说感受,我会持续维护

  • Acedylan 06-27 00:24
    2楼

    点个赞插个眼 看起来挺不错 体验一下

  • 挨个搞 06-27 00:27
    3楼

    rssh 里新信任



    功能很棒.

    有一个问题,我windows 11 下,登录vps后,终端无法输入中文.

    换了微软自带和微信输入法都无法输入中文.

    是我的问题,还是怎么回事?

  • dfeiwej 06-27 00:31
    4楼

    想和佬认真探讨下,以后有没有盈利模式?还是纯粹为爱发电呢?

  • shihuili1218 楼主 06-27 00:38
    5楼

    我用 Mac 加微信输入法是没问题的,我需要找一台 Windows 电脑试一下

  • shihuili1218 楼主 06-27 00:39
    6楼

    纯纯的为爱发电,不会收费,SSH 这个行业真的太痛了

  • pupler 06-27 00:40
    7楼

    佬请问一下这个地方的地址可不可以弄成适配any的那种呢?还有一个想法就是就是像ccs一样能够管理多个这个站点。


  • shihuili1218 楼主 06-27 00:41
    8楼

    我正在考虑适配 any,但是我在开发的过程中发现,虽然它们的协议差不多,但还是有一些细微的不同,这会导致很差的用户体验,所以我在纠结这个玩意儿

  • mjj7458 06-27 00:42
    9楼

    为爱发电的楼主 那不得不支持一下 star一下,win mac 都下载试试

  • 挨个搞 06-27 00:45
    10楼

    体验了下安卓版本的

    感觉也挺好.

    但有一个地方很容误操作

    打开一个vps,会话标签短的话,切换home或者其他会话,很容易误关闭

    仔细看才发现,标签上还有一个关闭的x,我觉得应该长按做选项,或者弹个窗确认下.

  • niuwoa 06-27 00:47
    11楼

    感谢分享,这个软件非常使实用呀。

* 帖子来源Linux.do
返回