开发了一个代替 xshell 的轮子 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
deathwish
V2EX    分享创造

开发了一个代替 xshell 的轮子

  •  
  •   deathish 71 天前 2865 次点击
    这是一个创建于 71 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目背景

    从 Win 更换 Mac 后,始终找不到一个心仪的 SSH 管理软件。市面上的工具要么功能过于复杂,要么界面不够直观。基于个人使用需求,我开发了这个基于 Rust 和 TUI 的 SSH 配置管理工具 MSSH 。

    核心特性

    主要功能

    • 直观的 TUI 界面 - 现代化的终端用户界面,操作简单直观

    • SSH 配置管理 - 添加、编辑、删除和查看 SSH 配置

    • 快速连接 - 支持命令行参数快速连接指定服务器

    • 配置导入 - 一键导入系统 SSH 配置文件

    • 端口转发 - 完整的本地端口转发配置支持

    • 代理支持 - 支持 SOCKS5 和 HTTP 代理,支持全局和自定义代理

    界面预览

    界面在 github 上

    安装

    Linux x86_64

    wget https://github.com/Caterpolaris/mssh/releases/download/v2.0.3/mssh-linux-x86_64.tar.gz tar -xzf mssh-linux-x86_64.tar.gz sudo mv mssh /usr/local/bin/ chmod +x /usr/local/bin/mssh 

    macOS x86_64 (Intel)

    wget https://github.com/Caterpolaris/mssh/releases/download/v2.0.3/mssh-macos-x86_64.tar.gz tar -xzf mssh-macos-x86_64.tar.gz sudo mv mssh /usr/local/bin/ chmod +x /usr/local/bin/mssh 

    macOS ARM64 (Apple Silicon)

    wget https://github.com/Caterpolaris/mssh/releases/download/v2.0.3/mssh-macos-aarch64.tar.gz tar -xzf mssh-macos-aarch64.tar.gz sudo mv mssh /usr/local/bin/ chmod +x /usr/local/bin/mssh 

    命令行使用

    # 启动 MSSH mssh # 不使用界面,快速连接 mssh 1 mssh test-server # 导入现有 SSH 配置 mssh --import-ssh 

    TUI 操作指南

    主界面快捷键

    • ↑/↓ - 选择配置

    • Enter - 连接服务器

    • Ctrl+N - 添加新配置

    • Ctrl+E - 编辑配置

    • Ctrl+D - 删除配置

    • Ctrl+L - 导入 SSH 配置

    • Ctrl+P - 代理设置

    表单编辑

    • ↑/↓ - 切换字段

    • Space - 切换复选框

    • Enter - 保存配置

    • Esc - 取消编辑

    使用场景

    开发者的日常

    # 快速连接到开发服务器 mssh dev-server # 设置端口转发进行调试 # localhost:3000 -> dev-server:3000 # 通过代理连接到内网服务器 mssh internal-server 

    技术栈

    • 语言: Rust 2021 Edition

    • UI 框架: Ratatui 0.24.0

    • 终端操作: Crossterm 0.27.0

    • 配置格式: TOML

    • 异步运行时: Tokio

    相关链接

    19 条回复    2025-08-01 19:01:19 +08:00
    julyclyde
        1
    julyclyde  
       71 天前
    哟,TUI 啊,挺别致
    我踹踹
    julyclyde
        2
    julyclyde  
       71 天前
    macos 安装命令错误
    你要知道默认情况下 macOS 是没 wget 的
    你增加了一个几十分钟的外部依赖 homebrew
    deathwish
        3
    deathwish  
    OP
       71 天前
    @julyclyde mac 新手,mac 不自带 wget 么?
    julyclyde
        4
    julyclyde  
       71 天前
    @deathwish 不带的。据说是版权问题
    minami
        5
    minami  
       71 天前
    @deathwish 可以用自带的 curl
    deathwish
        6
    deathwish  
    OP
       71 天前
    不能编辑帖子,对不住没有 wget 的 XD 了
    justseemore
        7
    justseemore  
       71 天前
    哈哈哈 前几天刚用 claude 糊了一个自己用的 item2 的 管理工具.
    deathwish
        8
    deathwish  
    OP
       71 天前
    @zpfhbyx 我现在不用 gpt 已经不会写代码了
    w292614191
        9
    w292614191  
       71 天前
    “始终找不到一个心仪的 SSH 管理软件”

    推荐这个,虽然我还没用: https://xterminal.cn
    knktc
        10
    knktc  
       71 天前
    @zpfhbyx 是啊,以前各种找开源工具,现在已经变成直接让 AI 给写工具了。前段时间经常调试 webhook ,和 copilot 说了下想法,一会儿就写出来了: https://github.com/knktc/tiny-requestbin
    bkchan
        11
    bkchan  
       71 天前
    可以看下 tssh 项目,好像和这个功能有点像,也是基于终端的: https://github.com/trzsz/trzsz-ssh
    raycake
        12
    raycake  
       71 天前
    ssh root@ip
    echoechoin
        13
    echoechoin  
       71 天前
    secureCRT 试用版一直试用一直爽:rm /Users/echo/Library/Application\ Support/VanDyke/SecureCRT/Config/SecureCRT_eval.lic
    deathwish
        14
    deathwish  
    OP
       71 天前
    @bkchan 怎么没早问到大哥你,确实太像了,真轮子了,我也学习下他的功能
    严重的信息差
    deathwish
        15
    deathwish  
    OP
       71 天前
    @raycake
    平时需要代理和隧道的功能,每次都需要编辑 config 文件做设置,又乱又麻烦
    第二个需求是在跳板机器上管理 ssh ,之前确实没搜到好工具
    fors
        16
    fors  
       71 天前
    可以试试 termora
    iyezi
        17
    iyezi  
       70 天前
    trzsz 的作者推出过一个 tssh ,也是一个 TUI 的 SSH 管理软件,它的特色是内置 trzsz 的支持,传输文件更方便一点
    https://github.com/trzsz/trzsz-ssh
    random1221
        18
    random1221  
       70 天前   1
    每个月 xshell 都要被替代好几次
    deathwish
        19
    deathwish  
    OP
       70 天前
    @random1221 没办法 xshell 给的起点太高了
    style type="text/css">.wwads-cn { border-radius: 3px !important; } .wwads-text { color: var(--link-color) !important; }
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2973 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 12:11 PVG 20:11 LAX 05:11 JFK 08:11
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86