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-arm64darwin-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:
qorCtrl+C- QuitSpace- 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 hostc- 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 informationtop- CPU usagefree- RAM informationdf- Disk usagenvidia-smi- GPU information (NVIDIA GPUs only)amd-smiorrocm-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

