Gobytego Remote Command Launcher ================================
A Utility for running remote commands
The Gobytego Remote Command Launcher is a Python utility that simplifies the process of executing the same SSH command across multiple remote hosts concurrently. It handles secure authentication via SSH keys and manages the sudo password prompt, offering an interactive terminal window for each host to monitor output and respond to prompts in real-time.
- **Python 3:** Required to run the launcher.
- **PyQt6:** The graphical user interface library (install via
pip install PyQt6). - **Paramiko:** The SSH library for secure connections (install via
pip install paramiko). - **SSH Key:** A private SSH key (e.g.,
~/.ssh/id_rsa) configured for passwordless access to your remote hosts.
You must create these two text files in the same directory as the launcher script (launcher.py):
1. gbg_hosts.txt
server-01.local
db-staging.internal
prod-web-03
(One hostname or IP address per line.)
2. gbg_commands.txt
\~/bin/upg_1.01
sudo dnf update -y
sudo apt upgrade -y
(One full remote command per line, such as a script path or a package manager command.)
- **Remote User:** The SSH username for all remote hosts.
- **SSH Key Path:** The full path to your private key file (use the "Browse" button to set this).
- **Hosts File:** Path to your
gbg_hosts.txtfile (use "Browse" to update this and reload the list below). - **Commands File:** Path to your
gbg_commands.txtfile (use "Browse" to update this and reload the command dropdown). - **Remote Command:** A dropdown list populated from your
gbg_commands.txtfile. Select the command you wish to execute.
The center list displays all hosts loaded from the specified Hosts File. Simply check the boxes next to the hosts you want the command to run on.
- **Select Host(s) & Command:** Check the desired hosts and select the command from the dropdown.
- **Click 'Execute':** Click the prominent button at the bottom.
- **Sudo Password Prompt:** A dialogue box will appear asking for the Sudo Password. This password will be automatically injected into the SSH session once the command is initiated.
- **Interactive Terminals:** For every selected host, a new Interactive Terminal Window will open.
- **Monitor and Interact:** You can monitor the real-time output in each window. If the remote command requires further user input (e.g., a confirmation prompt beyond the initial sudo injection), you can type directly into the terminal window to respond.
**Interactive Sessions:** Each host gets its own terminal for real-time output and manual input handling.
**Settings Persistence:** Host file paths, command file paths, user, key path, and host selections are automatically saved to gbg_remote_settings.json.
**Dynamic Command Loading:** Easily switch between complex remote commands without restarting the application by editing gbg_commands.txt and reloading the file.
**Multi-Session Management:** Allows concurrent execution and monitoring of commands across dozens of machines efficiently.
**NOTE: When exiting a terminal window please use the button at the bottom "Close Session" not the upper right traditional close button (usually an "X") this will cause the program to think there is still an open session and if you try to execute another command that computer will be ignored.
© 2025 Gobytego Utilities. Built with Python, PyQt, and Paramiko.