开源一个基于 Rust 和 egui 开发的跨平台 SSH 客户端应用ssh-client
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"
}
]
}
使用说明
基本操作
- 连接服务器:点击顶部工具栏的"+"按钮添加新服务器
- 文件传输:连接后右侧面板显示 SFTP 文件浏览器
- 端口转发:通过"转发"菜单配置端口转发规则
快捷键
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

浙公网安备 33010602011771号