首页 > 开源 > 一个基于 Rust 和 egui 开发的跨平台 SSH 客户端应用

一个基于 Rust 和 egui 开发的跨平台 SSH 客户端应用

OSChina资讯 2026-09-23 13:33 7 阅读 查看原文

SSH Client

一个基于 Rust 和 egui 开发的跨平台 SSH 客户端应用。

程序界面

功能特性

  • 多会话管理:支持同时打开多个 SSH 会话标签页

  • 终端模拟:完整的 VT100/ANSI 终端模拟,支持256色

  • SFTP 文件传输:支持文件上传、下载、目录浏览

  • 内置编辑器:支持语法高亮的文本编辑器

  • 端口转发:支持本地、远程和 SOCKS5 代理端口转发

  • 主密码保护:支持使用主密码加密存储服务器凭据

  • sudo 提权:支持通过 sudo 执行特权操作

支持平台

  • Windows

  • Linux

  • ARM64 (如 Raspberry Pi)

构建依赖

  • Rust 1.70+

  • Cargo

编译构建

Linux

cargo build --release

Windows

cargo build --release --target x86_64-pc-windows-gnu

ARM64 Linux

./build_arm64.sh

配置说明

配置文件默认为 servers.json,可通配命令行参数指定:

ssh-client --config /path/to/config.json

服务器配置格式

{
  "servers": [
    {
      "name": "服务器名称",
      "host": "192.168.1.1",
      "port": 22,
      "user": "username",
      "password": "password",
      "key": "/path/to/private/key"
    }
  ]
}

使用说明

基本操作

1. 连接服务器:点击顶部工具栏的"+"按钮添加新服务器

2. 文件传输:连接后右侧面板显示 SFTP 文件浏览器

3. 端口转发:通过"转发"菜单配置端口转发规则

快捷键

  • Ctrl+Shift+T:新建标签页

  • Ctrl+W:关闭当前标签页

  • Ctrl+Tab:切换标签页

项目结构

src/
├── main.rs       # 程序入口
├── app.rs        # 主应用逻辑和 UI
├── ssh.rs        # SSH 连接和会话管理
├── term.rs       # 终端模拟器
├── termwin.rs    # 终端渲染
├── editor.rs     # 内置编辑器
├── config.rs     # 配置管理
├── crypto.rs     # 加密和凭据保护
├── portfw.rs     # 端口转发
└── worker.rs     # 后台任务处理

许可证

MIT License