SSH destination: практики и проверка

Документ описывает безопасную настройку ssh destination и smoke-check чтения/скачивания артефакта через API.

1) Минимальный job-конфиг

Пример job: filesystem.ssh.streaming.yaml · исходный YAML.

Все примеры: каталог на сайте.

Ключевые поля:

2) Подготовка SSH-доступа

Рекомендуется использовать отдельный технический ключ только для backup-пользователя.

Проверка non-interactive доступа:

ssh -o BatchMode=yes -o StrictHostKeyChecking=accept-new root@10.5.1.4 "echo ok"

Если команда не возвращает ok, сначала исправьте SSH-доступ.

3) Best practices по ключам

4) Best practices по known_hosts

Пример:

ssh-keyscan -H 10.5.1.4 >> ~/.ssh/known_hosts

5) Проверка записи backup через SSH destination

go run ./cmd/iobackupctl --server http://127.0.0.1:8735 job submit ./examples/filesystem.ssh.streaming.yaml
go run ./cmd/iobackupctl --server http://127.0.0.1:8735 job run filesystem-ssh-streaming

Проверка на удаленной стороне:

ssh root@10.5.1.4 "ls -l /tmp/iobackup"

6) Smoke-check чтения через API (Get)

После успешного run получите backup_id:

go run ./cmd/iobackupctl --server http://127.0.0.1:8735 task list <run_id>

Скачайте artifact через API:

curl -sS "http://127.0.0.1:8735/api/v1/artifacts/<backup_id>/download" -o /tmp/restore-smoke.tar.gz

Проверьте, что файл скачался:

ls -lh /tmp/restore-smoke.tar.gz

Этот шаг подтверждает, что ssh.Get работает и API умеет отдавать сохраненный artifact.