USBoverSSH
USBoverSSH - Seamlessly Connect USB Devices Over SSH! šāØ Leverage the power of USBoverSSH to establish secure connections between USB devices and remote hosts. Effortlessly bridge the gap between local and remote USB devices, ensuring smooth communication over SSH. šš Embark on a journey of secure USB connectivity with USBoverSSH.
Install / Use
/learn @ImKKingshuk/USBoverSSHREADME
USBoverSSH
<div align="center">⦠ā¦āāāāāāāāā⬠ā¬āāāā¬āāāāāāāā⦠ā¦
ā āāāāā āā£ā āāāāāā⤠āā¬āāāāāāāā āā£
āāāāāāā©āā©āāā āā āāāā“āāāāāāāāā© ā©
š The Ultimate USB over SSH Solution
Connect USB devices between machines securely over SSH
</div>⨠Features
- š Secure SSH Tunneling - All USB traffic encrypted through SSH
- š„ļø Cross-Platform - Linux, macOS, and Windows client support
- šØ Interactive TUI - Beautiful terminal UI for device management
- š USB/IP Protocol - Industry-standard USB over network
- ā” Hot-Plug Support - Automatic device detection and reconnection
- š Configuration Files - TOML-based settings with named hosts
- š Persistent Mode - Auto-reconnect on connection drops
- š Multi-Host - Connect to multiple servers simultaneously
š Quick Start
List Local USB Devices
usboverssh list
List Remote USB Devices
usboverssh list [email protected]
Attach a Remote Device
# By VID:PID
usboverssh attach [email protected] 0xXXXX:0xXXXX
# By product name
usboverssh attach [email protected] "Example Device"
# With persistent reconnection
usboverssh attach [email protected] 0xXXXX:0xXXXX --persistent
Detach a Device
usboverssh detach 0xXXXX:0xXXXX
# Detach all
usboverssh detach all
Interactive TUI
usboverssh tui
# or simply
usboverssh
Run as USB/IP Server
usboverssh serve --address xxx.xxx.xxx.xxx --port xxxx
š® TUI Controls
| Key | Action |
|-----|--------|
| Tab / Shift+Tab | Switch between panes |
| ā / k, ā / j | Navigate items |
| Enter | Activate selected item |
| a | Attach selected device |
| d | Detach selected device |
| r / F5 | Refresh device list |
| c | Connect to new host |
| h | Show hosts panel |
| ? / F1 | Toggle help |
| q / Esc | Quit / Close popup |
āļø Configuration
Configuration file location:
- Linux/macOS:
~/.config/usboverssh/config.toml - Windows:
%APPDATA%\usboverssh\config.toml
Generate a default config:
usboverssh config init
š Requirements
Linux (Server & Client)
- Kernel with USB/IP support (
usbip-core,usbip-host,vhci-hcd) - Root/sudo for kernel module loading
macOS (Client Only)
- No special requirements
Windows (Client Only)
- USB/IP driver (USBIP-WIN)
Load Kernel Modules (Linux)
# On the USB/IP server (exporting devices)
sudo modprobe usbip-host
# On the USB/IP client (attaching devices)
sudo modprobe vhci-hcd
š CLI Reference
USAGE:
usboverssh [OPTIONS] [COMMAND]
COMMANDS:
list List USB devices (local or remote)
attach Attach a remote USB device
detach Detach an attached device
status Show currently attached devices
serve Start USB/IP server
tui Interactive TUI mode
config Configuration management
completions Generate shell completions
help Print help information
OPTIONS:
-v, --verbose Increase verbosity
-q, --quiet Suppress output
-c, --config <FILE> Configuration file path
--format <FMT> Output format (text, json)
-h, --help Print help
-V, --version Print version
š Security Considerations
- All USB traffic is encrypted through SSH
- SSH key-based authentication recommended
- Only bind server to localhost when using SSH tunnels
- Firewall the USB/IP port from untrusted networks
š License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
ā ļø Disclaimer
š The developer of this tool is not responsible for any type of activity done by you using this tool. Use at your own risk. š
USBoverSSH is designed for legitimate USB device sharing over secure connections. Always ensure you have proper authorization before accessing remote USB devices. Unauthorized access may violate privacy and security laws.
<div align="center">
Made with ā¤ļø by @ImKKingshuk
If you find this project useful, please consider giving it a āļø
</div>Related Skills
node-connect
342.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.7kCommit, push, and open a PR
