- --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>
3.2 KiB
3.2 KiB
Скилл /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)