Monitor CPU, GPU, RAM, and disk usage on your remote servers with a live-updating terminal dashboard.
Download the latest release for your platform from the Releases page.
Quick install (Linux/macOS):
# Download the binary for your platform
# Example for Linux AMD64:
curl -L -o ssh-dashboard https://github.com/AlpinDale/ssh-dashboard/releases/download/v0.0.1/ssh-dashboard-v0.0.1-linux-amd64
# Make it executable and move to PATH
chmod +x ssh-dashboard
sudo mv ssh-dashboard /usr/local/bin/Supported platforms:
- linux-amd64,- linux-arm64
- darwin-amd64(Intel Mac),- darwin-arm64(Apple Silicon)
- windows-amd64.exe,- windows-arm64.exe
yay -S ssh-dashboard-gitgit clone https://github.com/AlpinDale/ssh-dashboard.git
cd ssh-dashboard
make installThis will install to ~/.local/bin. Make sure this directory is in your PATH (it usually is):
export PATH="$HOME/.local/bin:$PATH"- Go 1.21 or higher
- SSH access to remote hosts
- SSH keys loaded in your SSH agent
Simply run:
ssh-dashboardThe tool will:
- Scan your ~/.ssh/configfor available hosts
- Present an interactive list to select from
- Connect and display a live dashboard
- Update stats every 5 seconds (configurable)
Multi-host workflow:
- Start by selecting one or more hosts (use Spaceto toggle selection)
- Press Enterto connect and view the dashboard
- While in the dashboard, press cto return to host selection to add/remove hosts
- Press nto cycle through connected hosts (like tmux sessions)
- Press tto toggle overview mode, showing all selected hosts at once with GPU pressure summaries
- Press sto exit the dashboard and drop into an interactive SSH shell with the current host
- All connections remain active - no need to reconnect!
Update Interval:
Control how often the dashboard refreshes in seconds (default: 5). Supports decimal values for sub-second updates:
# Update every second
ssh-dashboard -n 1
# Update 10 times per second (100ms)
ssh-dashboard -n 0.1
# or with an env var
export SSH_DASHBOARD_INTERVAL=0.5
ssh-dashboardKeybindings:
- qor- Ctrl+C- Quit
- Space- Select/deselect hosts (in host selection screen)
- Enter- Connect to selected host(s)
- n- Switch to next host (when multiple hosts selected)
- t- Toggle overview screen (shows all hosts at once)
- s- Exit and SSH into current host
- c- Add hosts (from dashboard, returns to host selection)
Make sure your ~/.ssh/config is properly configured:
Host myserver
    HostName 192.168.1.100
    User username
    Port 22  # optional
    IdentityFile ~/.ssh/id_rsa  # optional
Host gpu-server
    HostName gpu.example.com
    User admin
    IdentityFile ~/.ssh/id_ed25519  # optional
The dashboard uses SSH agent for authentication. Make sure your keys are loaded:
ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_ed25519
# verify
ssh-add -lThe remote hosts should have these commands available:
- lscpu- CPU information
- top- CPU usage
- free- RAM information
- df- Disk usage
- nvidia-smi- GPU information (NVIDIA GPUs only)
- amd-smior- rocm-smi- GPU information (AMD GPUs only)
Most Linux distributions include these by default.
make buildmake runThe project uses GoReleaser for multi-platform builds and releases.
Test the release locally:
goreleaser release --snapshot --cleanBuild all platforms with Make:
make build-allThis creates binaries for:
- Linux (amd64, arm64)
- macOS (amd64, arm64)
- Windows (amd64, arm64)
make cleanMIT License - see LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
- Verify your SSH config is correct
- Test manual connection: ssh hostname
- Ensure SSH keys are loaded: ssh-add -l
- (NVIDIA) Verify NVIDIA drivers are installed: ssh hostname nvidia-smi
- (AMD) Verify AMD drivers are installed: ssh hostname amd-smiorssh hostname rocm-smi
- Check SSH key permissions (should be 600)
- Verify the user has appropriate access rights
Built with:
- Bubble Tea - TUI framework
- Lipgloss - Terminal styling
- Bubbles - TUI components

