# ssh-tool **Repository Path**: virens/ssh-tool ## Basic Information - **Project Name**: ssh-tool - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-11 - **Last Updated**: 2026-07-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SSH 工具 (ssh-tool) 一个基于 Rust 和 [egui](https://github.com/emilk/egui) 开发的 SSH 连接管理工具,提供图形化界面来管理 SSH 主机、创建 SSH 隧道以及快速连接。 ## 功能特性 - **SSH 主机管理**:自动解析 `~/.ssh/config` 文件中的 SSH 配置 - **快速连接**:一键启动 SSH 连接 - **SSH 隧道**:创建本地端口转发隧道 - **手动连接**:支持手动输入主机信息进行连接 - **公钥上传**:一键将公钥上传到远程服务器 - **中文界面**:完整的中文界面支持 ## 技术栈 - **Rust** - 编程语言 - **egui** - 跨平台 GUI 框架 - **eframe** - egui 的框架封装 ## 构建要求 - Rust 1.56+ - Cargo - Windows: MSVC 工具链 ## 安装 ### 从源码编译 ```bash # 克隆仓库 git clone https://gitee.com/virens/ssh-tool.git cd ssh-tool # 编译 release 版本 cargo build --release # 运行 ./target/release/ssh-tool.exe ``` ## 使用说明 ### 1. 主机列表 程序启动后会自动读取 `~/.ssh/config` 文件中的 SSH 主机配置,并在左侧显示主机列表。 ### 2. 快速连接 从主机列表中选择要连接的主机,点击 "直接连接" 按钮即可使用系统默认终端启动 SSH 会话。 ### 3. 创建 SSH 隧道 选择主机后,在右侧隧道面板中: - 输入本地端口 - 输入目标 IP 地址 - 输入目标端口 - 点击 "连接" 按钮 ### 4. 手动连接 点击顶部 "手动连接" 按钮,在弹出窗口中输入: - 主机地址 - 端口号(默认为 22) - 用户名 - 点击"连接" ### 5. 上传公钥 点击顶部 "上传公钥" 按钮,选择主机并输入用户名,程序会自动将公钥上传到服务器。 ## 项目结构 ``` ssh-tool/ ├── src/ │ ├── main.rs # 程序入口 │ ├── app.rs # 主应用逻辑和 GUI │ └── ssh_config.rs # SSH 配置解析 ├── icons/ # 应用图标 ├── Cargo.toml # 项目配置 └── build.rs # 构建脚本 ``` ## 配置说明 - SSH 配置文件:`~/.ssh/config` - 公钥文件:自动查找 `~/.ssh/id_rsa.pub` ## 许可证 MIT License