SSH Host Editor

Графический редактор хостов и алиасов в ~/.ssh/config. Работает на Linux, macOS и Windows.
Автор: Sergei Shekin | GitHub | mintguide.org
Установка
Требования: Python 3.9+
Установка одной командой
Для текущего пользователя:
make install-user
Системная установка (в /usr/local, нужен sudo):
make install-system
Обычная установка через pip:
python3 -m pip install .
Режим разработки (рекомендуется)
cd ssh-host-editor
python3 -m pip install -e .
Запуск
После установки:
ssh-host-editor
# или
python -m ssh_host_editor
Без установки (из корня проекта):
PYTHONPATH=src python -m ssh_host_editor
# или
python -m src.ssh_host_editor
Работа в Windows
Программа полностью работает на Windows 10/11 — встроенный OpenSSH-клиент (ssh, ssh-keygen, scp) поставляется с системой и читает тот же файл конфигурации из C:\Users\<имя>\.ssh\config.
Что работает:
- Редактирование хостов и алиасов в
~/.ssh/config— тот же файл, который используетsshв PowerShell/CMD. Добавил алиас в программе → заходишь на сервер командойssh myAlias. - Генерация ключей (
ssh-keygen) с бэкапом старого ключа перед перезаписью. - Проверка known_hosts: если сервер переустановлен и его ключ изменился, программа предложит удалить старую запись (
ssh-keygen -R) перед отправкой ключа. - Кнопка Push:
ssh-copy-idв Windows отсутствует, поэтому используется PowerShell-эквивалент — публичный ключ передаётся черезsshи дописывается в~/.ssh/authorized_keysна сервере с правильными правами. Команда запускается в Windows Terminal (wt), а если он не установлен — в новом окне консоли. Окно не закрывается после выполнения, чтобы можно было ввести пароль и увидеть результат.
Запуск в PowerShell/CMD:
# после установки
ssh-host-editor
# или из исходников (из корня проекта)
python -m ssh_host_editor
Установка такая же, как на Linux: python -m pip install . (для разработки — python -m pip install -e .). Требуется Python 3.9+.
Сборка пакетов
1. Wheel и sdist (для pip)
Создаёт файлы .whl и .tar.gz для установки через pip install:
make build
2. macOS — приложение в меню (PyInstaller)
./packaging/build_macos.sh
Результат: dist/SSH Host Editor.app. Перетащите в /Applications — появится в Launchpad и меню.
3. Linux — standalone (PyInstaller)
./packaging/build_linux.sh
Результат: dist/ssh-host-editor — исполняемый файл без установки Python.
4. Linux/Flathub (Flatpak)
Для Flatpak используется не python build, а flatpak-builder.
Локальная сборка и установка:
make flatpak-build
Запуск установленного Flatpak:
make flatpak-run
Перед отправкой в Flathub:
- в
src/flatpak/org.mintguide.ssh-host-editor.yamlзамените локальный sourcetype: dirна фиксированный архив/commit; - для archive source добавьте
sha256; - убедитесь, что app-id, desktop и metainfo согласованы.
Описание
Программа предназначена для управления хостами и псевдонимами в файле конфигурации SSH. Она позволяет добавлять, удалять, редактировать хосты и псевдонимы, а также просматривать их список.
