docs: clarify file transfer rules in skill-ssh.md

- Shell commands (echo/base64/cat) banned only as file transfer method, not as regular commands
- Clarify --upload workflow: existing files upload directly, new files create locally first

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
chrome-storm-c442
2026-02-25 02:30:13 -05:00
parent 24e4493e1d
commit 4c7c15e497

View File

@@ -201,12 +201,17 @@ python ~/.server-connections/ssh.py ALIAS --upload "D:/local/file" //remote/path
python ~/.server-connections/ssh.py ALIAS --download //remote/path/file "D:/local/file" python ~/.server-connections/ssh.py ALIAS --download //remote/path/file "D:/local/file"
``` ```
**ЗАПРЕЩЕНО** передавать файлы через: **ЗАПРЕЩЕНО** использовать shell-команды как **способ передачи файлов** на/с сервера:
- `echo "content" | ssh ALIAS "cat > file"` — обрежет бинарные данные - `echo "длинный_контент" > remote_file` — обрежет данные, сломает бинарники
- `base64` чанки через `exec_command` — медленно, ненадёжно, ломается на больших файлах (exit 127) - `base64` чанки через exec_command ненадёжно, ломается на больших файлах (exit 127)
- `cat file | ssh` или stdin-пайпы — не работает через Paramiko exec_command - `cat local_file | ssh` или stdin-пайпы — не работает через Paramiko exec_command
- Любые "креативные" способы передачи через shell-команды - Любые "креативные" shell-методы переноса содержимого файлов
**Если нужно создать файл с текстом на сервере** — сначала создай локально (Write tool), потом `--upload`. **Это НЕ запрещает** использовать `echo`, `cat`, `base64` как обычные команды на сервере:
- `ALIAS "echo hello"` — OK (выполнение команды)
- `ALIAS "cat /etc/hosts"` — OK (чтение файла на сервере)
- `ALIAS "base64 -d config.b64 > config.bin"` — OK (операция на сервере)
**Если нужно передать файл на сервер** — используй `--upload`. Если файл уже существует локально — заливай напрямую. Если нужно создать новый файл с нуля — создай локально (Write tool), потом `--upload`.
**Если нужно прочитать файл с сервера** — используй `ALIAS "cat /path/file"` для маленьких текстовых, или `--download` для больших/бинарных. **Если нужно прочитать файл с сервера** — используй `ALIAS "cat /path/file"` для маленьких текстовых, или `--download` для больших/бинарных.