2025-04-14 · 9 мин чтения

Как настроить загрузку скриншотов по SFTP (Полное руководство)

Большинство инструментов для скриншотов загружают ваши изображения в свой собственный облачный сервис. Вы получаете ссылку, но не контролируете сервер. Вы не можете выбрать домен. Вы не можете установить контроль доступа. Вы не можете гарантировать, что ссылка будет работать через два года. И вы доверяете третьей стороне каждое загружаемое изображение — включая скриншоты, которые могут содержать конфиденциальные данные.

Загрузка по SFTP меняет эту модель. Ваши скриншоты отправляются на ваш собственный сервер, на ваш собственный домен, под вашим собственным контролем. Вы решаете, кто может получить к ним доступ. Вы решаете, как долго они будут доступны. Вы контролируете всю цепочку от захвата до ссылки.

Это руководство описывает настройку загрузки скриншотов по SFTP с помощью Maxisnap, от подготовки сервера до конфигурации и вашей первой автозагрузки. Если у вас есть веб-сервер или VPS, вы сможете начать работу менее чем за 15 минут.

Почему SFTP, а не другие методы загрузки

SFTP (SSH File Transfer Protocol) передает файлы по зашифрованному SSH-соединению. По сравнению с другими методами загрузки, он предлагает несколько преимуществ:

  • Зашифровано при передаче — Все данные шифруются через SSH. В отличие от обычного FTP, ваши скриншоты не могут быть перехвачены при передаче.
  • Никакого дополнительного программного обеспечения на сервере — Если ваш сервер работает с SSH (практически все серверы Linux это делают), SFTP работает «из коробки». Никакого FTP-демона, никакой конечной точки API веб-сервера, никакой дополнительной конфигурации.
  • Аутентификация на основе ключей — Вы можете использовать пары ключей SSH вместо паролей, что одновременно безопаснее и удобнее.
  • Стандартный протокол — SFTP поддерживается каждым крупным хостинг-провайдером, VPS и облачной платформой. Отсутствие привязки к поставщику.
  • Полный контроль — Ваш сервер, ваш домен, ваши правила. Скриншоты — это обычные файлы в вашей файловой системе.

Maxisnap также поддерживает FTP, S3-совместимое хранилище и загрузку по HTTP POST. Но для большинства пользователей с собственным сервером SFTP является самым простым и безопасным вариантом. Посмотреть все варианты загрузки.

Что вам понадобится

  • Сервер с доступом по SSH — Подойдет любой Linux VPS. DigitalOcean, Linode, Hetzner, AWS EC2 или ваше собственное оборудование. Вам нужен доступ по SSH и веб-сервер (Nginx или Apache) для обслуживания загруженных изображений.
  • Доменное имя — Необязательно, но рекомендуется. Скриншоты, загруженные на screenshots.yourdomain.com выглядят профессиональнее, чем IP-адрес.
  • Maxisnap Pro — Загрузка по SFTP требует лицензии Maxisnap Pro. Бесплатная версия включает полный захват и аннотирование.

Шаг 1: Подготовьте ваш сервер

Если у вас уже есть веб-сервер с доступом по SSH, перейдите к Шагу 2. В противном случае, вот минимальная настройка:

На вашем сервере создайте каталог для скриншотов и настройте ваш веб-сервер для обслуживания файлов из него.

# Create the screenshot directory
sudo mkdir -p /var/www/screenshots
sudo chown $USER:$USER /var/www/screenshots
sudo chmod 755 /var/www/screenshots

Если вы используете Nginx, добавьте блок сервера (или добавьте location к вашему существующему сайту):

server {
    listen 80;
    server_name screenshots.yourdomain.com;

    root /var/www/screenshots;

    location / {
        try_files $uri =404;
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
}

Если вы используете Apache, эквивалент проще — просто укажите VirtualHost на каталог:

<VirtualHost *:80>
    ServerName screenshots.yourdomain.com
    DocumentRoot /var/www/screenshots
</VirtualHost>

Добавьте SSL с Let's Encrypt (настоятельно рекомендуется):

sudo certbot --nginx -d screenshots.yourdomain.com
# or for Apache:
sudo certbot --apache -d screenshots.yourdomain.com

Шаг 2: Настройте аутентификацию по SSH-ключам (рекомендуется)

Вы можете аутентифицироваться с помощью пароля, но SSH-ключи более безопасны и устраняют необходимость вводить пароль. Если вы уже используете SSH-ключи, пропустите этот шаг.

На вашей машине Windows откройте PowerShell:

# Generate an SSH key pair (if you don't have one)
ssh-keygen -t ed25519 -C "maxisnap-upload"

# Copy the public key to your server
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh user@your-server "cat >> ~/.ssh/authorized_keys"

Проверьте соединение:

ssh user@your-server "echo 'Connection successful'"

Если соединение устанавливается без запроса пароля, аутентификация по ключу работает.

Шаг 3: Настройте Maxisnap

Откройте Maxisnap и перейдите в Настройки > Загрузка. Выберите SFTP в качестве протокола загрузки и заполните следующие поля:

  • Хост: Имя хоста или IP-адрес вашего сервера (например, screenshots.yourdomain.com)
  • Порт: 22 (порт SSH по умолчанию, измените, если ваш сервер использует нестандартный порт)
  • Имя пользователя: Ваше имя пользователя SSH
  • Аутентификация: Файл ключа (выберите ваш приватный ключ, обычно C:\Users\YourName\.ssh\id_ed25519) или Пароль
  • Удаленный путь: /var/www/screenshots/ (каталог, который вы создали на Шаге 1)
  • Префикс URL: https://screenshots.yourdomain.com/ (публичный URL, по которому доступны файлы)

Нажмите Проверить соединение для проверки. Maxisnap попытается подключиться и записать тестовый файл. Если это удастся, вы готовы к загрузке.

Шаг 4: Ваша первая автоматическая загрузка

Нажмите Ctrl+Alt+7 (горячая клавиша автоматической загрузки Maxisnap). Выберите область экрана. Maxisnap захватит область, загрузит ее через SFTP и скопирует ссылку для общего доступа в буфер обмена.

Вставьте эту ссылку в браузер. Ваш снимок экрана должен загрузиться с вашего собственного домена. URL будет выглядеть примерно так:

https://screenshots.yourdomain.com/2025-04-14_143022.png

Вот и все. От захвата до ссылки для общего доступа менее чем за три секунды, размещенной на вашем собственном сервере.

Именование и организация файлов

Maxisnap по умолчанию генерирует имена файлов на основе метки времени захвата (например, 2025-04-14_143022.png). Вы можете настроить шаблон именования в Настройки > Загрузка > Шаблон имени файла. Варианты включают:

  • {datetime} — Полная метка времени (по умолчанию)
  • {date}/{datetime} — Организовано в подкаталоги на основе даты
  • {random} — Случайная 8-символьная строка для несвязываемых URL-адресов
  • {random}-{datetime} — Случайный префикс для уникальности с меткой времени для удобства поиска

Для настроек, ориентированных на безопасность, используйте {random} именование. Это делает URL-адреса непредсказуемыми — никто не сможет перечислить ваши снимки экрана, увеличивая метку времени.

Продвинуто: Защита вашего сервера для скриншотов

Для профессионального использования рассмотрите следующие дополнительные меры безопасности:

Контроль доступа

По умолчанию ваши скриншоты общедоступны по URL-адресу. Чтобы ограничить доступ, у вас есть несколько вариантов:

  • Случайные имена файлов — URL-адреса невозможно угадать без точной ссылки. Просто, но это не настоящая безопасность.
  • Базовая аутентификация Nginx — Добавьте защиту паролем ко всей директории скриншотов. Полезно для внутреннего обмена в команде.
  • IP-белый список — Ограничьте доступ диапазоном IP-адресов вашего офиса или VPN.
  • Подписанные URL-адреса — Если вы используете S3-совместимое хранилище вместо SFTP, вы можете генерировать подписанные URL-адреса с ограниченным сроком действия.

Автоматическая очистка

Скриншоты со временем накапливаются. Добавьте задание cron для удаления старых файлов:

# Delete screenshots older than 90 days
0 3 * * * find /var/www/screenshots -type f -mtime +90 -delete

Пропускная способность и хранилище

Средний размер скриншота составляет 200-500 КБ в формате PNG. При 50 скриншотах в день это примерно 10-25 МБ ежедневно или 300-750 МБ в месяц. Большинство планов VPS включают гораздо больше хранилища и пропускной способности, чем требуется для этого. Хостинг скриншотов не является ресурсоемким.

Устранение неполадок

"Соединение отклонено" или таймаут: Убедитесь, что порт SSH вашего сервера открыт (проверьте правила брандмауэра с помощью sudo ufw status). Убедитесь, что служба SSH запущена (sudo systemctl status sshd).

"Доступ запрещен": Вашему пользователю SSH требуются права на запись в удаленный путь. Проверьте владельца с помощью ls -la /var/www/screenshots/. Директория должна принадлежать вашему пользователю SSH или группе, к которой принадлежит ваш пользователь.

Загрузка успешна, но ссылка не работает: Убедитесь, что ваш префикс URL соответствует фактическому публичному URL. Проверьте, что ваш веб-сервер обслуживает директорию скриншотов. Попробуйте получить доступ к файлу напрямую через браузер по полному пути.

Медленная загрузка: SFTP зашифрован, что добавляет небольшие накладные расходы по сравнению с обычным FTP. Для типичных скриншотов (200-500 КБ) загрузка должна завершаться менее чем за секунду при любом разумном соединении. Если загрузки постоянно медленные, проверьте ваше сетевое соединение с сервером.

Альтернативы SFTP

SFTP — лучший вариант для большинства пользователей с собственным сервером, но Maxisnap также поддерживает другие протоколы:

  • S3-совместимое хранилище — AWS S3, DigitalOcean Spaces, Cloudflare R2, MinIO. Лучше всего подходит для команд, которым требуется управляемое хранилище без необходимости обслуживания сервера.
  • HTTP POST — Загрузка на любую конечную точку API, которая принимает загрузку файлов. Лучше всего подходит для интеграции с пользовательскими бэкэндами.
  • FTP — Устаревший протокол, незашифрованный. Используйте только если SFTP недоступен. Не рекомендуется для конфиденциальных скриншотов.

Почему самохостинг скриншотов важен

Использование стороннего сервиса для скриншотов означает доверие им ваших данных, времени безотказной работы и ссылок. Сервисы закрываются, меняют свои тарифы, или их приобретают. Ссылки перестают работать. Политики данных меняются.

Самохостинг скриншотов устраняет эти зависимости. Ваши изображения хранятся на вашем сервере, доступны по вашему домену, столько, сколько вы хотите. Для конфиденциальных скриншотов, для профессиональной документации и для ссылок, которые должны работать надежно — самохостинг является правильным выбором. Это одна из ключевых причин, по которой разработчики выбирают Maxisnap вместо Monosnap.

Скачать Maxisnap и настраивают загрузку по SFTP сегодня. Через пятнадцать минут у вас будет рабочий процесс создания скриншотов, который будет быстрее, конфиденциальнее и полностью под вашим контролем.

Готовы попробовать лучший инструмент для создания скриншотов?

Загрузите Maxisnap бесплатно и увидите разницу.

Загрузить Maxisnap бесплатно