Skip to content

SSH Client ​

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

项目开源网址 ​

程序界面 ​

功能特性 ​

  • 多会话管理:支持同时打开多个 SSH 会话标签页
  • 终端模拟:完整的 VT100/ANSI 终端模拟,支持256色
  • SFTP 文件传输:支持文件上传、下载、目录浏览
  • 内置编辑器:支持语法高亮的文本编辑器
  • 端口转发:支持本地、远程和 SOCKS5 代理端口转发
  • 主密码保护:支持使用主密码加密存储服务器凭据
  • sudo 提权:支持通过 sudo 执行特权操作

支持平台 ​

  • Windows
  • Linux
  • ARM64 (如 Raspberry Pi)

构建依赖 ​

  • Rust 1.70+
  • Cargo

编译构建 ​

Linux ​

bash
cargo build --release

Windows ​

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

ARM64 Linux ​

bash
./build_arm64.sh

配置说明 ​

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

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

服务器配置格式 ​

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

联系我们 ​

如有任何问题或建议,请联系我们:

  • 联系电话:17774029112(吴老师)
  • 微信:微信二维码
  • 电子邮箱:7886081@qq.com

浙ICP备2025200337号-3          浙公网安备33030202002286号