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