SSH Pilot is a user-friendly SSH and SFTP client for Linux, macOS and Windows.

Connections sidebar with a terminal session

Server dashboard with live resource usage and system details

Split view with multiple terminals

Key transfer to a server (ssh-copy-id)
- Works with your existing ~/.ssh/config
- Integrated terminal with tabbed interface and split view support (works with your favorite terminal apps too)
- Intuitive, minimal UI with keyboard navigation and customizable shortcuts
- Built-in SFTP dual-pane file manager
- SCP download/upload support
- Key transfer to server (ssh-copy-id)
- Known hosts and Authorized keys management (local & remote)
- Graphical Docker container manager
- Support for various secure storage backends (libsecret, Keepass, Bitwarden/Vaultwarden, pass)
- Backup and restore to/from Bitwarden/Vaultwarden, or your own servers (supports app settings, secrets and keys)
- Snippets for quick execution of scripts/commands
- Extensible via plugins
The Windows installer on the Releases page is covered by our code signing policy.
You can download directly from the Releases section, but we recommend adding one of the repositories below for automatic updates:
sudo add-apt-repository ppa:mfat/sshpilot
sudo apt update
sudo apt install sshpilot- Add the GPG key:
curl -fsSL https://mfat.github.io/sshpilot-ppa/pubkey.gpg | sudo gpg --dearmor -o /usr/share/keyrings/sshpilot-ppa.gpg- Add the repository:
echo "deb [signed-by=/usr/share/keyrings/sshpilot-ppa.gpg] https://mfat.github.io/sshpilot-ppa any main" | sudo tee /etc/apt/sources.list.d/sshpilot-ppa.list- Update and install:
sudo apt update
sudo apt install sshpilotFor more information, visit: https://mfat.github.io/sshpilot-ppa/
This repository provides automatic updates for SSH Pilot on RPM-based distributions.
dnf copr enable mahdif62/sshpilot
dnf install sshpilotAvailable on Flathub
OR in a terminal type:
flatpak install flathub io.github.mfat.sshpilotArch Linux package via AUR: https://aur.archlinux.org/packages/sshpilot
# replace yay with your AUR helper of choice, e.g. paru
yay -S sshpilotOR
Nightly Arch Linux package via AUR (community maintained): https://aur.archlinux.org/packages/sshpilot-git
# replace yay with your AUR helper of choice, e.g. paru
yay -S sshpilot-gitA single self-contained file for any distribution that meets the
minimum requirements. It bundles GTK 4, libadwaita, VTE,
GtkSourceView, WebKitGTK and Python — so the xterm.js terminal backend and
the Host Info tab work the same as in the other packages — and uses the host's
ssh. Download
sshpilot-<version>-linux-x86_64.AppImage from the
Releases page — there are no
automatic updates, so grab a new one when a release lands.
chmod +x sshpilot-*-linux-x86_64.AppImage
./sshpilot-*-linux-x86_64.AppImageThe AppImage mounts itself with FUSE 3, which every supported distribution
ships; on a system without it, run the file with --appimage-extract-and-run.
brew tap mfat/sshpilot
brew install sshpilotMore info here: https://github.com/mfat/homebrew-sshpilot
Works on macOS Homebrew and Linuxbrew. The formula is build-from-source; first install pulls the GTK4 stack and compiles a Python virtualenv with the runtime deps. After install, launch sshPilot from a terminal inside an active desktop session (Wayland/X11 + dbus on Linux; native on macOS).
Download the dmg file from the releases section https://github.com/mfat/sshpilot/releases/
brew install gtk4 libadwaita pygobject3 py3cairo vte3 gobject-introspection adwaita-icon-theme pkg-config glib graphene icu4c sshpass gtksourceview5Note: webkitgtk is Linux-only and not available on macOS via Homebrew. The xterm.js backend is not available on macOS; the application will use the VTE backend instead.
| Platform | Minimum version |
|---|---|
| Debian | 13 (trixie) |
| Ubuntu | 24.04 (noble) |
| Linux Mint | 22 |
| Fedora | 43 |
| RHEL / CentOS Stream | 10 |
| Arch Linux | rolling |
| macOS | 14 (Sonoma) |
On any other Linux distribution, install the Flatpak — it runs everywhere Flatpak does.
| Component | Minimum Version |
|---|---|
| Python | 3.12 |
| GTK 4 | 4.6 |
| libadwaita | 1.5 |
| VTE (GTK4) | 0.70 |
| PyGObject | 3.42 |
| pycairo | 1.20.0 |
| cryptography | 42.0 |
| keyring | 24.3 |
| psutil | 5.9.0 |
| pykeepass | 4.0 |
| certifi | 2023.7.22 |
| GtkSourceView | 5.0 |
- User guide and FAQ: https://github.com/mfat/sshpilot/wiki
- Architecture reference: docs/architecture.md
- Diagnostics & logging: docs/diagnostics.md
- In-repo developer and platform docs: docs/
- Coding-agent setup: SSH Pilot MCP quickstart
- Writing plugins (protocols & UI pages): docs/plugins/
SSH Pilot uses the following third-party libraries:
- xterm.js - The terminal emulator behind the xterm.js terminal backend, with its fit, search and web-links add-ons (MIT License)
Free code signing provided by SignPath.io, certificate by SignPath Foundation.
The Windows installer attached to each release is built by GitHub Actions from this repository and signed through SignPath after an approver approves the release.
- Committers and reviewers: Mehdi (@mfat)
- Approvers: Mehdi (@mfat)
Privacy: SSH Pilot checks GitHub for new versions when it starts; GitHub sees your IP address. You can turn this off in the Windows installer or in Preferences. Nothing else is sent unless you ask for it. See the privacy policy and the full code signing policy.
SSH Pilot is licensed under the GNU General Public License v3.0.
- Elibugy, Mo Efazati and Sadeq for supporting development
- Behnam Tavakkoli, Chalist and Kalpase, Ramin Najjarbashi, Farid and Narbeh for testing
- Icon designed by Blisterexe
Ko-fi: https://ko-fi.com/newmfat
Bitcoin:
bc1qqtsyf0ft85zshsnw25jgsxnqy45rfa867zqk4t
Doge:
DRzNb8DycFD65H6oHNLuzyTzY1S5avPHHx
USDT (TRC20)
TAvQWVD83DB3QuDspnMh4uiJ7hi4Jzcr6X

