![]()
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.

ssh_config text with instant diff highlighting.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-Studio
src/ssh_config_parser.py → Parse/validate/generate SSH config safely.src/ui/ → Main App Components (MainWindow, HostList, HostEditor, SearchBar, PreferencesDialog, TestConnectionDialog, SSH Key Manager).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-studio
Contributions 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.
If “Test SSH Connection” still fails, grant the sandbox the Flatpak talk permission:
flatpak override --user --talk-name=org.freedesktop.Flatpak com.buddysirjava.ssh-studio
flatpak run com.buddysirjava.ssh-studio
flatpak run com.buddysirjava.ssh-studio```
flatpak list
as an example you use vscode to run these
flatpak override --user --talk-name=org.freedesktop.Flatpak com.visualstudio.code
now run the code.
$ claude mcp add SSH-Studio \
-- python -m otcore.mcp_server <graph>