Skip to content
This repository was archived by the owner on Jun 6, 2026. It is now read-only.

jestivald/ssh-keys-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

SSH Keys Manager

PowerShell-утилита для генерации и управления SSH-ключами на Windows. Заточена под ноды RemnaWave, но работает с любыми ed25519-ключами.

Возможности

  • Генерация ed25519 ключей (по одному или пачкой)
  • Папки на каждую ноду, автокопирование .pub в буфер обмена
  • Поиск всех ключей в выбранной директории (рекурсивно)
  • Удаление ключа с очисткой пустой папки
  • Опциональный passphrase через флаг (по умолчанию ключи без пароля - под автоматизацию)
  • Добавление записи в ~/.ssh/config (Host / HostName / User / Port / IdentityFile)
  • Деплой публичного ключа на сервер - аналог ssh-copy-id для Windows
  • Fingerprint ключа сразу после генерации
  • Запоминание пути к папке между запусками

Требования

  • Windows 10 / 11
  • OpenSSH Client (Settings -> Apps -> Optional features -> OpenSSH Client)
  • PowerShell 5.1 или новее

Запуск

С GitHub без скачивания

irm https://raw.githubusercontent.com/jestivald/ssh-keys-manager/main/ssh-keys.ps1 | iex

Локально

.\ssh-keys.ps1                  # интерактивное меню
.\ssh-keys.ps1 new              # сразу генерация
.\ssh-keys.ps1 new -Passphrase  # генерация с паролем на ключ
.\ssh-keys.ps1 list             # список всех ключей
.\ssh-keys.ps1 remove           # удаление
.\ssh-keys.ps1 config           # добавить ключ в ~/.ssh/config
.\ssh-keys.ps1 deploy           # залить ключ на сервер

Если PowerShell ругается на политику выполнения:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

Меню

[1] Создать ключ(и)
[2] Список ключей
[3] Удалить ключ
[4] Добавить в ~/.ssh/config
[5] Залить ключ на сервер
[0] Выход

Типичный сценарий для RemnaWave

  1. [1] создать ключ с именем ноды (например de-fra-01).
  2. Публичный ключ уже в буфере - вставить в панель RemnaWave (Ctrl+V).
  3. На вопрос "Добавить в ~/.ssh/config?" ответить y - указать IP, user, port.
  4. Подключаться обычной командой: ssh de-fra-01.

Если панелью не пользуешься, шаг 2 заменяется на [5] Залить на сервер - ключ уйдёт в ~/.ssh/authorized_keys сам.

Хранение

  • Ключи: путь, который ты задал (по умолчанию Desktop\ssh-keys). Каждая нода - своя подпапка.
  • Конфиг утилиты: %APPDATA%\ssh-keys-manager\config.json. Если у тебя был старый файл ~/.ssh-keys-manager.json - он перенесётся автоматически при первом запуске.
  • Записи Host пишутся в ~/.ssh/config (создаётся, если нет).

Безопасность

  • Алгоритм ed25519 - современный, быстрый, короткие ключи.
  • По умолчанию ключи генерируются без passphrase. Это удобно для автоматизации, но если ключ попадёт чужим - доступ открыт. Для ценных серверов используй -Passphrase.
  • Приватный ключ - это файл без .pub. Никогда никому не отправляй и не коммить.
  • На сервер уходит только содержимое .pub.

Известные нюансы

  • Раньше скрипт генерировал ключи с литеральным паролем "" из-за того, как PowerShell обрабатывает пустые кавычки. Сейчас это исправлено - ключ действительно без пароля. Старые ключи можно проверить так: ssh-keygen -y -P "" -f <путь_к_приватному>. Если команда просит пароль - на ключе сидит "", проще пересоздать.
  • При первом подключении через [5] deploy хост добавится в known_hosts автоматически (StrictHostKeyChecking=accept-new).

Лицензия

MIT

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors