Перейти к содержанию

Работа с файлами

Файлы между локальным компьютером и подом можно переносить через VS Code, scp, rsync или скачивать напрямую с Hugging Face. Рабочие данные на сервере храните в /workspace.

Способ Когда использовать
VS Code Один файл или небольшая папка через интерфейс
scp Простая разовая передача файла или небольшой папки
rsync Большие папки, датасеты, повторная синхронизация
Hugging Face Скачивание моделей и датасетов прямо на сервер

Подробнее о том, какие данные сохраняются в /workspace, смотрите в разделе Хранение данных.

Где взять IP и SSH-порт

Откройте карточку сервера после оформления аренды. В блоке Данные для подключения будет готовая SSH-команда:

ssh root@203.0.113.10 -p 42000

В этом примере:

  • 203.0.113.10 - это SERVER_IP;
  • 42000 - это SSH_PORT;
  • root - пользователь на сервере.

В командах ниже заменяйте SERVER_IP и SSH_PORT на значения из своей карточки.

Передача через VS Code

Если вы подключились через Remote SSH:

  1. Откройте Explorer.
  2. Найдите файл или папку.
  3. Нажмите правой кнопкой мыши.
  4. Выберите Download, чтобы скачать файл.

Чтобы загрузить файл на сервер, перетащите его в нужную папку внутри /workspace.

Передача через SCP

Общий вид команды:

scp -P SSH_PORT LOCAL_PATH REMOTE_PATH
Параметр Описание
SSH_PORT внешний SSH-порт из блока Данные для подключения
SERVER_IP IP сервера из SSH-команды
root@SERVER_IP пользователь и адрес сервера
/workspace/file.txt путь к файлу на сервере

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

scp -P SSH_PORT ./dataset.zip root@SERVER_IP:/workspace/

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

scp -P SSH_PORT root@SERVER_IP:/workspace/output.pt .

Скачать папку с сервера:

scp -r -P SSH_PORT root@SERVER_IP:/workspace/results ./results

Если подключаетесь по SSH-ключу:

scp -P SSH_PORT -i ~/.ssh/id_ed25519 ./dataset.zip root@SERVER_IP:/workspace/

Пример для карточки с командой ssh root@203.0.113.10 -p 42000:

scp -P 42000 ./dataset.zip root@203.0.113.10:/workspace/

Передача через rsync

Для больших файлов и папок лучше использовать rsync. Он умеет докачивать передачу и не отправляет заново то, что уже есть на сервере.

Если rsync не установлен на сервере:

apt update
apt install -y rsync

Основные параметры:

Параметр Описание
-a сохраняет структуру папок, права и время
-v показывает подробный вывод
-z сжимает данные при передаче
--progress показывает прогресс

Загрузить папку на сервер:

rsync -avz --progress -e "ssh -p SSH_PORT" ./data/ root@SERVER_IP:/workspace/data/

Скачать папку с сервера:

rsync -avz --progress -e "ssh -p SSH_PORT" root@SERVER_IP:/workspace/output/ ./output/

Если подключаетесь по SSH-ключу:

rsync -avz --progress -e "ssh -p SSH_PORT -i ~/.ssh/id_ed25519" ./data/ root@SERVER_IP:/workspace/data/

Пример для карточки с командой ssh root@203.0.113.10 -p 42000:

rsync -avz --progress -e "ssh -p 42000" ./data/ root@203.0.113.10:/workspace/data/

Слэш в конце пути

Слэш в конце копирует содержимое папки:

rsync -avz --progress -e "ssh -p SSH_PORT" ./data/ root@SERVER_IP:/workspace/data/

Без слэша копируется сама папка:

rsync -avz --progress -e "ssh -p SSH_PORT" ./data root@SERVER_IP:/workspace/

Скачивание с Hugging Face

Установите CLI:

python3 -m pip install -U huggingface_hub

Скачайте модель в /workspace/models:

cd /workspace
huggingface-cli download Qwen/Qwen3-32B-GGUF --local-dir /workspace/models/Qwen3-32B-GGUF

Если модель требует токен:

export HF_TOKEN="hf_xxx"

Если скачивание идет слишком медленно, проверьте сеть:

npm i -g internometr
internometr json

В JSON-выводе смотрите поля download, upload и ping.

Частые ошибки

Connection refused

Проверьте IP и SSH-порт:

ssh root@SERVER_IP -p SSH_PORT

Permission denied

Проверьте права на ключ:

chmod 600 ~/.ssh/id_ed25519

Подключитесь, явно указав ключ:

ssh root@SERVER_IP -p SSH_PORT -i ~/.ssh/id_ed25519

Большой файл передается нестабильно

Используйте rsync вместо scp:

rsync -avz --progress -e "ssh -p SSH_PORT" ./large_file.bin root@SERVER_IP:/workspace/