Skip to content

mfat/sshpilot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,090 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SSH Pilot is a user-friendly, modern and lightweight SSH connection manager for Linux and macOS, with an integrated terminal and SFTP file manager. It's an alternative to Termius, Putty, Mobaxterm and similar apps.

Start Page

About

What is SSH Pilot?

It's an SSH connection manager with an integrated terminal and built-in dual-pane SFTP client.

Why should I use SSH Pilot?

It makes managing multiple machines easier and more fun. You see all your hosts in one unified interface and can organize them into groups, with color tags.

What makes it unique?

SSH Pilot is a GUI on top of your .ssh/config It honors your existing SSH configuration. Just fire up the app and you'll be have access to all your machines instantly.

What else can it do?

It can do so many things.

SSH Pilot can generate and copy keys to your servers. It stores your secrets (passwords and private key passphrases) securely in the operating system's keychain. It can securely use saved secrets to log you in.

Features

  • Tabbed interface
  • Intuitive, minimal UI with keyboard navigation and shortcuts
  • Built-in SFTP dual-pane file manager
  • Organize servers in groups
  • Option to use the built-in terminal or your favorite one
  • Broadcast commands to all open tabs
  • Full support for Local, Remote and Dynamic port forwarding
  • SCP support for quickly uploading or downloading files to/from remote servers
  • Keypair generation and copying to remote servers (ssh-copy-id)
  • Support for running remote and local commands upon login
  • Secure storage for credentials
  • Privacy toggle to show/hide ip addresses/hostnames in the main window
  • Light/Dark interface themes
  • Customizable terminal font and color schemes
  • Load/save standard .ssh/config entries (Or use dedicated configuration file)
  • Free software (GPL v3 license)

Download

Debian/Ubuntu APT Repository

Installation

  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 arch=amd64] 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/

Debian/Ubuntu (Manual Install)

Latest release can be downloaded from here: https://github.com/mfat/sshpilot/releases/

Fedora/RHEL/openSUSE 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

Fedora/RHEL/openSUSE (Manual Install)

Latest release can be downloaded from here: https://github.com/mfat/sshpilot/releases/

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

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)

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 PyXterm.js backend will not be available on macOS; the application will use the VTE backend instead.


Minimum Requirements

Component Minimum Version
GTK 4 4.6
libadwaita 1.4
VTE (GTK4) 0.70
PyGObject 3.42
pycairo 1.20.0
Paramiko 3.4
cryptography 42.0
keyring 24.3
psutil 5.9.0
GtkSourceView 5.0

💻 Run from Source

You can also run the app from source. Install the modules listed in requirements.txt and a fairly recent version of GNOME and it should run.

python3 run.py

To enable verbose debugging output, run the app with the --verbose flag:

python3 run.py --verbose

Runtime Dependencies

Install system GTK/libadwaita/VTE GI bindings (do not use pip for these).

Debian/Ubuntu (minimum versions)

sudo apt update
sudo apt install \
  python3 python3-gi python3-gi-cairo \
  libgtk-4-1 gir1.2-gtk-4.0 \
  libadwaita-1-0 gir1.2-adw-1 \
  libvte-2.91-gtk4-0 gir1.2-vte-3.91 \
  libgtksourceview-5-0 gir1.2-gtksource-5 \
  libsecret-1-0 gir1.2-secret-1 \
  python3-paramiko python3-cryptography sshpass ssh-askpass \
  gir1.2-webkit-6.0

Fedora / RHEL / CentOS

sudo dnf install \
  python3 python3-gobject \
  gtk4 libadwaita \
  vte291-gtk4 \
  gtksourceview5 \
  libsecret \
  python3-paramiko python3-cryptography sshpass openssh-askpass \
  webkitgtk6

libsecret handles secure credential storage on Linux via the Secret Service API.

Run from source

python3 run.py

Enable verbose debugging with:

python3 run.py --verbose

Documentation

https://github.com/mfat/sshpilot/wiki

Telegram Channel

https://t.me/sshpilot

Third-Party Libraries

SSH Pilot uses the following third-party libraries:

  • pyxtermjs - A fully functional terminal in your browser, used as an alternative terminal backend (MIT License)

Special Thanks

  • Elibugy as the primary sponsor of the project
  • 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

About

User-friendly, cross-platform SSH connection manager

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors