A native GTK4 desktop app for editing and validating your ~/.ssh/config.
Search, edit, and validate SSH hosts with a clean UI — no need to touch terminal editors.
- Visual host editor – Edit common fields (Host, HostName, User, Port, IdentityFile, ForwardAgent, etc.).
- Inline validation – Field-level errors shown directly under inputs; parser checks for duplicates and invalid ports.
- Search and filter – Quickly find hosts across aliases, hostnames, users, and identities.
- Raw/Diff view – Edit raw
ssh_configtext with instant diff highlighting. - Quick actions – Copy SSH command, test connection, and revert changes.
- SSH Key Management – Import, generate, and use your keys without leaving the app.
- Safe saves – Automatic backups (configurable), atomic writes, and include support.
- Keyboard & mouse friendly – Smooth GTK 4 UI with dark theme preference.
- Translations – Ready for localization (gettext support via
po/).
You can install SSH Studio from AUR here.
You can build and run with GNOME Builder or flatpak-builder:
flatpak-builder --user --force-clean --install-deps-from=flathub build-dir io.github.BuddySirJava.SSH-Studio.json --install # Run flatpak run io.github.BuddySirJava.SSH-StudioIf "Test SSH Connection" fails, grant the sandbox the Flatpak talk permission:
flatpak override --user --talk-name=org.freedesktop.Flatpak io.github.BuddySirJava.SSH-Studio flatpak run io.github.BuddySirJava.SSH-StudioIf you're unsure of your app ID, list installed Flatpak apps:
flatpak listThen use the correct app ID with the override command. For example, if you have VS Code installed:
flatpak override --user --talk-name=org.freedesktop.Flatpak com.visualstudio.codesrc/ssh_config_parser.py→ Parse/validate/generate SSH config safely.src/ui/→ Main App Components (MainWindow,HostList,HostEditor,SearchBar,PreferencesDialog,TestConnectionDialog,SSH Key Manager,Welcome View).data/ui/*.ui→ GTK Builder UI blueprints.data/ssh-studio.gresource.xml→ GResource manifest.data/media/→ App icon and screenshots.src/main.py→ Application entry point.meson.build,data/meson.build,src/meson.build→ Build and install rules.io.github.BuddySirJava.SSH-Studio.json→ Flatpak manifest.po/→ Translations.
Requirements:
- Python 3.12+
- GTK 4 / libadwaita 1.4+
- Meson & Ninja
- Flatpak / flatpak-builder
Clone and run in dev mode:
git clone https://github.com/BuddySirJava/SSH-Studio.git cd SSH-Studio meson setup builddir meson compile -C builddir ./builddir/src/ssh-studioContributions are welcome!
- Report bugs or request features in the issue tracker.
- Submit pull requests with improvements, translations, or new features.
- Follow GNOME HIG for UI changes.
This project is licensed under the GNU GPLv3.
See LICENSE for details.
- Open an issue on GitHub.
- Check Flathub page.

