mfat/sshpilot

User-friendly, cross-platform SSH connection manager

Python

1,070

5,944 commits

updated Oct 14, 2026

See the code

README

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

Latest release License: GPL v3

Connection sidebar and terminal
Connections sidebar with a terminal session

Server dashboard with CPU, memory, and disk usage
Server dashboard with live resource usage and system details

Dual-pane SFTP file manager
Dual-pane SFTP file manager

Split view with multiple terminals
Split view with multiple terminals

Copy key to server dialog
Key transfer to a server (ssh-copy-id)

Features

  • 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

Download

You can download directly from the Releases section, but we recommend adding one of the repositories below for automatic updates:

Ubuntu PPA

sudo add-apt-repository ppa:mfat/sshpilot
sudo apt update
sudo apt install sshpilot

Debian APT Repository

  1. Add the GPG key:
curl -fsSL https://mfat.github.io/sshpilot-ppa/pubkey.gpg | sudo gpg --dearmor -o /usr/share/keyrings/sshpilot-ppa.gpg
  1. 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
  1. Update and install:
sudo apt update
sudo apt install sshpilot

For more information, visit: https://mfat.github.io/sshpilot-ppa/

Fedora/RHEL COPR Repository

This repository provides automatic updates for SSH Pilot on RPM-based distributions.

dnf copr enable mahdif62/sshpilot
dnf install sshpilot

Copr build status

Flatpak

Available on Flathub

Get it on Flathub

OR in a terminal type:

flatpak install flathub io.github.mfat.sshpilot

Arch Linux

Arch Linux package via AUR: https://aur.archlinux.org/packages/sshpilot

# replace yay with your AUR helper of choice, e.g. paru
yay -S sshpilot

OR

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-git

AppImage (x86-64)

A 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.AppImage

The AppImage mounts itself with FUSE 3, which every supported distribution ships; on a system without it, run the file with --appimage-extract-and-run.

Homebrew (macOS + Linux)

brew tap mfat/sshpilot
brew install sshpilot

More 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).

macOS (aarch64 and x86-64)

Download the dmg file from the releases section https://github.com/mfat/sshpilot/releases/

For development on macOS:

brew install gtk4 libadwaita pygobject3 py3cairo vte3 gobject-introspection adwaita-icon-theme pkg-config glib graphene icu4c sshpass gtksourceview5

Note: 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.


Minimum Requirements

Operating system

PlatformMinimum version
Debian13 (trixie)
Ubuntu24.04 (noble)
Linux Mint22
Fedora43
RHEL / CentOS Stream10
Arch Linuxrolling
macOS14 (Sonoma)

On any other Linux distribution, install the Flatpak — it runs everywhere Flatpak does.

Libraries

ComponentMinimum Version
Python3.12
GTK 44.6
libadwaita1.5
VTE (GTK4)0.70
PyGObject3.42
pycairo1.20.0
cryptography42.0
keyring24.3
psutil5.9.0
pykeepass4.0
certifi2023.7.22
GtkSourceView5.0

Run from Source

docs/running-from-source.md.

Documentation

Telegram Channel

https://t.me/sshpilot

Third-Party Libraries

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)

License

SSH Pilot is licensed under the GNU General Public License v3.0.

Special Thanks

  • Elibugy, Mo Efazati and Sadeq for supporting development
  • Behnam Tavakkoli, Chalist and Kalpase, Ramin Najjarbashi, Farid and Narbeh for testing
  • Icon designed by Blisterexe

Support Development

Ko-fi: https://ko-fi.com/newmfat

Bitcoin:

bc1qqtsyf0ft85zshsnw25jgsxnqy45rfa867zqk4t

Doge:

DRzNb8DycFD65H6oHNLuzyTzY1S5avPHHx

USDT (TRC20)

TAvQWVD83DB3QuDspnMh4uiJ7hi4Jzcr6X
gnome
linux
ssh
ssh-client
ssh-tunnel
terminal

mfat/sshpilot

User-friendly, cross-platform SSH connection manager

Python

1,070

5,944 commits

updated Oct 14, 2026

See the code

README

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

Latest release License: GPL v3

Connection sidebar and terminal
Connections sidebar with a terminal session

Server dashboard with CPU, memory, and disk usage
Server dashboard with live resource usage and system details

Dual-pane SFTP file manager
Dual-pane SFTP file manager

Split view with multiple terminals
Split view with multiple terminals

Copy key to server dialog
Key transfer to a server (ssh-copy-id)

Features

  • 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

Download

You can download directly from the Releases section, but we recommend adding one of the repositories below for automatic updates:

Ubuntu PPA

sudo add-apt-repository ppa:mfat/sshpilot
sudo apt update
sudo apt install sshpilot

Debian APT Repository

  1. Add the GPG key:
curl -fsSL https://mfat.github.io/sshpilot-ppa/pubkey.gpg | sudo gpg --dearmor -o /usr/share/keyrings/sshpilot-ppa.gpg
  1. 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
  1. Update and install:
sudo apt update
sudo apt install sshpilot

For more information, visit: https://mfat.github.io/sshpilot-ppa/

Fedora/RHEL COPR Repository

This repository provides automatic updates for SSH Pilot on RPM-based distributions.

dnf copr enable mahdif62/sshpilot
dnf install sshpilot

Copr build status

Flatpak

Available on Flathub

Get it on Flathub

OR in a terminal type:

flatpak install flathub io.github.mfat.sshpilot

Arch Linux

Arch Linux package via AUR: https://aur.archlinux.org/packages/sshpilot

# replace yay with your AUR helper of choice, e.g. paru
yay -S sshpilot

OR

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-git

AppImage (x86-64)

A 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.AppImage

The AppImage mounts itself with FUSE 3, which every supported distribution ships; on a system without it, run the file with --appimage-extract-and-run.

Homebrew (macOS + Linux)

brew tap mfat/sshpilot
brew install sshpilot

More 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).

macOS (aarch64 and x86-64)

Download the dmg file from the releases section https://github.com/mfat/sshpilot/releases/

For development on macOS:

brew install gtk4 libadwaita pygobject3 py3cairo vte3 gobject-introspection adwaita-icon-theme pkg-config glib graphene icu4c sshpass gtksourceview5

Note: 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.


Minimum Requirements

Operating system

PlatformMinimum version
Debian13 (trixie)
Ubuntu24.04 (noble)
Linux Mint22
Fedora43
RHEL / CentOS Stream10
Arch Linuxrolling
macOS14 (Sonoma)

On any other Linux distribution, install the Flatpak — it runs everywhere Flatpak does.

Libraries

ComponentMinimum Version
Python3.12
GTK 44.6
libadwaita1.5
VTE (GTK4)0.70
PyGObject3.42
pycairo1.20.0
cryptography42.0
keyring24.3
psutil5.9.0
pykeepass4.0
certifi2023.7.22
GtkSourceView5.0

Run from Source

docs/running-from-source.md.

Documentation

Telegram Channel

https://t.me/sshpilot

Third-Party Libraries

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)

License

SSH Pilot is licensed under the GNU General Public License v3.0.

Special Thanks

  • Elibugy, Mo Efazati and Sadeq for supporting development
  • Behnam Tavakkoli, Chalist and Kalpase, Ramin Najjarbashi, Farid and Narbeh for testing
  • Icon designed by Blisterexe

Support Development

Ko-fi: https://ko-fi.com/newmfat

Bitcoin:

bc1qqtsyf0ft85zshsnw25jgsxnqy45rfa867zqk4t

Doge:

DRzNb8DycFD65H6oHNLuzyTzY1S5avPHHx

USDT (TRC20)

TAvQWVD83DB3QuDspnMh4uiJ7hi4Jzcr6X
gnome
linux
ssh
ssh-client
ssh-tunnel
terminal

Significant stargazers

Val Packett

579 followers · starred Nov 2025

David Z. Chen

253 followers · starred Aug 2025

Jean-Yves Pellé

12 followers · starred Sep 2025

Bruno Paz

183 followers · starred Aug 2025