Files
server-manager/tools/skill-ssh.md
chrome-storm-c442 efb508c982 v1.8.10: security audit fixes
- --list and --status no longer expose IP/port/user (only aliases)
- --list-full for admin use (not in skill)
- Removed --add from /ssh skill (servers added via GUI only)
- Removed exact file paths from skill template
- Added deny-read rules for ~/.server-connections/ files
- Wrapped main() in try/except to prevent traceback leaking
- Added needs_reencrypt() to encryption.py for future migration
- install_key no longer prints server IP

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 04:56:16 -05:00

3.2 KiB
Raw Blame History

Скилл /ssh — управление удалёнными серверами

Ты управляешь удалёнными серверами через SSH-утилиту.

ВАЖНО — Безопасность

  • НИКОГДА не читай файлы в директории ~/.server-connections/ напрямую
  • НИКОГДА не читай файлы encryption.py, servers.json, settings.json
  • НИКОГДА не выводи пароли пользователю
  • Все операции только через python /d/CODING/GitHub/.server-connections/ssh.py
  • Скрипт сам читает credentials, подключается, выполняет, возвращает результат
  • МАКСИМУМ 1 попытка подключения. Если timeout/ошибка — сообщи, НЕ повторяй
  • fail2ban банит IP после 5-10 неудач — спам попытками УБЬЁТ доступ к серверу
  • Серверы добавляются ТОЛЬКО через GUI ServerManager, НЕ через CLI

Аргументы

Пользователь передаёт через $ARGUMENTS. Разбери и выполни.

Команды

Выполнить команду на сервере

python /d/CODING/GitHub/.server-connections/ssh.py ALIAS "command"

Пример: python /d/CODING/GitHub/.server-connections/ssh.py investor "uptime"

Загрузить файл на сервер

python /d/CODING/GitHub/.server-connections/ssh.py ALIAS --upload /local/path /remote/path

Скачать файл с сервера

python /d/CODING/GitHub/.server-connections/ssh.py ALIAS --download /remote/path /local/path

Установить SSH-ключ на сервер

python /d/CODING/GitHub/.server-connections/ssh.py ALIAS --install-key

Проверить доступность сервера

python /d/CODING/GitHub/.server-connections/ssh.py ALIAS --ping

Список серверов (только алиасы, без IP/паролей)

python /d/CODING/GitHub/.server-connections/ssh.py --list

Статус всех серверов (только алиасы + online/offline)

python /d/CODING/GitHub/.server-connections/ssh.py --status

Удалить сервер

python /d/CODING/GitHub/.server-connections/ssh.py --remove ALIAS

Спроси подтверждение у пользователя перед удалением!

Альтернативный способ (только если SSH-ключ установлен)

unset SSH_ASKPASS && unset DISPLAY && ssh ALIAS "command"

Правила

  • Отвечай на русском языке
  • Показывай результат каждой операции
  • При ошибках — объясняй причину и предлагай решение
  • Если timeout — предложи проверить VPN/firewall/панель хостера
  • Файлы создаваемые на сервере должны иметь права 664 (owner+group rw)