A terminal-based SSH server monitoring tool built with Rust that displays real-time CPU and RAM usage per user on remote servers.
Motivation was to have an easy way to see who was using all the resources on a shared server!
- Rust 1.70 or higher
- SSH access to the target server(s)
git clone https://github.com/0thomasholland/server-users.git
cd server-users
cargo build --releaseThe compiled binary will be available at the releases on github.
Download the appropriate binary for your platform and extract it, make executable, and run.
Simply run the program without arguments for an interactive configuration screen:
cargo run
# or if using the binary
./target/release/server_usersNavigate through the configuration fields using:
Tab/Shift+Tab- Move between fields↑/↓- Move between fieldsSpace- Toggle SSH key authenticationEnter- Connect to serverq/Esc- Quitc- Sort by CPU usager- Sort by RAM usage
Connect directly by providing arguments:
# Using password authentication
-s hostname.com -u username -p password
# Using SSH key authentication
-s hostname.com -u username --use-key
# Using custom SSH key path
-s hostname.com -u username --use-key -k ~/.ssh/custom_keyOptions:
-s, --server <SERVER> SSH server hostname or IP address
-u, --user <USER> SSH username
-p, --password <PASSWORD> SSH password (if not using SSH key)
-k, --key <SSH_KEY> Path to SSH private key (default: ~/.ssh/id_rsa)
--use-key Use SSH key authentication instead of password
-h, --help Print help
-V, --version Print version
- Passwords provided via command line arguments may be visible in process lists
- For production use, SSH key authentication is recommended
- Ensure proper file permissions on SSH keys (typically
chmod 600) - The tool requires SSH access with sufficient privileges to run
psandfreecommands
