# 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 Tool (ssh-tool) A SSH connection management tool developed in Rust and [egui](https://github.com/emilk/egui), providing a graphical interface to manage SSH hosts, create SSH tunnels, and connect quickly. ## Features - **SSH Host Management**: Automatically parses SSH configurations from `~/.ssh/config` - **Quick Connect**: One-click initiation of SSH connections - **SSH Tunnels**: Create local port forwarding tunnels - **Manual Connection**: Supports manually entering host information for connection - **Public Key Upload**: One-click upload of public key to remote server - **Chinese Interface**: Full Chinese language interface support ## Technology Stack - **Rust** - Programming language - **egui** - Cross-platform GUI framework - **eframe** - Framework wrapper for egui ## Build Requirements - Rust 1.56+ - Cargo - Windows: MSVC toolchain ## Installation ### Compile from Source ```bash # Clone the repository git clone https://gitee.com/virens/ssh-tool.git cd ssh-tool # Build release version cargo build --release # Run ./target/release/ssh-tool.exe ``` ## Usage Guide ### 1. Host List Upon launching, the application automatically reads SSH host configurations from `~/.ssh/config` and displays them in the left-hand host list. ### 2. Quick Connect Select a host from the list and click the "Connect Directly" button to launch an SSH session using the system's default terminal. ### 3. Create SSH Tunnel After selecting a host, in the tunnel panel on the right: - Enter the local port - Enter the target IP address - Enter the target port - Click the "Create Tunnel" button ### 4. Manual Connection Click the "Manual Connect" button at the top, then in the pop-up window enter: - Host address - Port number (default: 22) - Username - Click "Connect" ### 5. Upload Public Key Click the "Upload Public Key" button at the top, select a host and enter the username; the application will automatically upload your public key to the server. ## Project Structure ``` ssh-tool/ ├── src/ │ ├── main.rs # Application entry point │ ├── app.rs # Main application logic and GUI │ └── ssh_config.rs # SSH configuration parser ├── icons/ # Application icons ├── Cargo.toml # Project configuration └── build.rs # Build script ``` ## Configuration Notes - SSH config file: `~/.ssh/config` - Public key file: Automatically searches for `~/.ssh/id_rsa.pub` ## License MIT License