メインコンテンツへスキップ
2026-05-06 · 読了時間 9 分

SFTPでスクリーンショットを自動アップロードする

多くのスクリーンショットツールは、画像を自社のクラウドにアップロードします。リンクは手に入りますが、サーバーは自分のものではありません。ドメインも選べません。アクセス制限もかけられません。そのリンクが2年後も生きている保証もありません。しかも、機密情報が写り込んでいるかもしれない画像も含めて、すべてを第三者に預けることになります。

SFTPアップロードは、この構図をひっくり返します。スクリーンショットは自分のサーバー、自分のドメイン、自分の管理下に置かれます。誰がアクセスできるかも、いつまで公開するかも自分で決められます。撮影からリンク発行までのすべてを自分でコントロールできるのです。

この記事では、 MaxisnapでSFTPアップロードを設定する手順を、サーバーの準備から設定、初回の自動アップロードまで順を追って解説します。WebサーバーやVPSをお持ちなら、15分もあれば使い始められます。

なぜ他の方式ではなくSFTPなのか

SFTP(SSH File Transfer Protocol)は、暗号化されたSSH接続でファイルを転送する仕組みです。他のアップロード方式と比べて、次のような利点があります。

  • 通信が暗号化される — すべてのデータがSSHで暗号化されます。平文のFTPとは違い、転送中にスクリーンショットを盗み見られる心配がありません。
  • サーバー側に追加ソフトが不要 — SSHが動いているサーバー(Linuxサーバーならほぼすべて該当します)なら、SFTPはそのまま使えます。FTPデーモンも、Webサーバー側のAPIエンドポイントも、追加設定も要りません。
  • 鍵による認証に対応 — パスワードの代わりにSSHの鍵ペアを使えます。より安全で、しかも手間がかかりません。
  • 標準的なプロトコル — SFTPは主要なホスティング事業者、VPS、クラウドプラットフォームのすべてが対応しています。特定のベンダーに縛られません。
  • 完全に自分の管理下 — 自分のサーバー、自分のドメイン、自分のルール。スクリーンショットはファイルシステム上のふつうのファイルとして扱えます。

MaxisnapはFTP、S3互換ストレージ、HTTP POSTでのアップロードにも対応しています。ただし、自分のサーバーをお持ちの方にとっては、SFTPが最もシンプルで安全な選択肢です。 アップロード方法の一覧を見る

準備するもの

  • SSHで接続できるサーバー — Linux VPSであれば何でも構いません。DigitalOcean、Linode、Hetzner、AWS EC2、自前のマシンでも大丈夫です。SSH接続と、アップロードした画像を配信するWebサーバー(NginxまたはApache)が必要です。
  • 独自ドメイン — 必須ではありませんが推奨します。アップロード先が screenshots.yourdomain.com のようなドメインなら、IPアドレスよりもずっと信頼感のある見た目になります。
  • Maxisnap Studio — SFTPアップロードのご利用には Maxisnap Studioアドオン ($20 買い切り)が必要です。無料版でもキャプチャと注釈機能はすべてお使いいただけます。

ステップ1:サーバーを準備する

SSHで接続できるWebサーバーがすでにある方は、ステップ2へ進んでください。まだの場合は、最低限の設定は次のとおりです。

サーバー上にスクリーンショット用のディレクトリを作成し、そこからファイルを配信するようWebサーバーを設定します。

# 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>

Let's EncryptでSSLも設定しておきましょう(強く推奨します)。

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/2026-05-06_143022.png

アップロード先を設定しておけば、キャプチャ→サーバーへのアップロード→共有URLのクリップボードへのコピーまでが、ひと続きの操作で完了します。

ファイル名の付け方と整理

Maxisnapは初期設定では、キャプチャした日時をもとにファイル名を生成します(例: 2026-05-06_143022.png)。命名パターンは 設定 > アップロード > ファイル名パターン で変更できます。指定できる形式は次のとおりです。

  • {datetime} — 日時をすべて含む形式(初期設定)
  • {date}/{datetime} — 日付ごとのサブディレクトリに整理する形式
  • {random} — URLを推測されにくくする、ランダムな8文字の文字列
  • {random}-{datetime} — ランダムな接頭辞で一意性を保ちつつ、日時で探しやすくする形式

セキュリティを重視するなら、 {random} 形式を使ってください。URLが推測できなくなるため、日時を少しずつずらしてスクリーンショットを探し当てられる心配がなくなります。

応用:スクリーンショットサーバーを守る

業務で使うなら、次のような追加のセキュリティ対策も検討しましょう。

アクセス制御

初期状態では、スクリーンショットはURLさえ分かれば誰でも閲覧できます。アクセスを制限したい場合の選択肢はいくつかあります。

  • ランダムなファイル名 — 正確なリンクを知らなければURLを推測できません。手軽ですが、厳密なセキュリティとは言えません。
  • NginxのBasic認証 — スクリーンショット用ディレクトリ全体にパスワードをかけます。社内チームでの共有に便利です。
  • IPアドレスの制限 — オフィスやVPNのIPアドレス範囲からのみアクセスできるようにします。
  • 署名付きURL — SFTPの代わりにS3互換ストレージを使う場合は、有効期限付きの署名付きURLを発行できます。

古いファイルの自動削除

スクリーンショットは放っておくとどんどん溜まります。cronで古いファイルを削除しましょう。

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

帯域とストレージ

必要なストレージ容量は、画像の大きさ、内容、形式、撮影の頻度によって変わります。実際の作業で撮ったファイルのサイズを測り、想定する月間の撮影枚数を掛け合わせ、保存期間とバックアップの分も見込んだうえでプランを選んでください。

トラブルシューティング

「Connection refused」やタイムアウトになる: サーバーのSSHポートが開いているか確認してください(ファイアウォールの設定は sudo ufw statusで確認できます)。SSHサービスが起動しているかも確認しましょう(sudo systemctl status sshd)。

「Permission denied」と表示される: リモートパスへの書き込み権限がSSHユーザーに必要です。所有者は ls -la /var/www/screenshots/で確認できます。対象のディレクトリは、SSHユーザー本人か、そのユーザーが所属するグループが所有している必要があります。

アップロードは成功するのにリンクが開けない: URLプレフィックスが実際の公開URLと一致しているか確認してください。Webサーバーがスクリーンショット用ディレクトリを配信できているかもチェックします。フルパスを指定して、ブラウザから直接ファイルを開いてみるのも有効です。

アップロードが遅い: SFTPは暗号化されるぶん、平文のFTPよりわずかに負荷がかかります。一般的なスクリーンショット(200〜500 KB)であれば、まともな回線なら1秒とかからず完了するはずです。いつも遅い場合は、サーバーまでのネットワーク接続を確認してください。

SFTP以外の選択肢

自分のサーバーをお持ちならSFTPが最適ですが、Maxisnapは他のプロトコルにも対応しています。

  • S3互換ストレージ — AWS S3、DigitalOcean Spaces、Cloudflare R2、MinIOなど。サーバーを自分で運用せずにマネージドなストレージを使いたいチームに向いています。
  • HTTP POST — ファイルアップロードを受け付けるAPIエンドポイントに送信できます。独自のバックエンドと連携したい場合に最適です。
  • FTP — 暗号化されない古いプロトコルです。SFTPが使えない場合のみ利用してください。機密性のあるスクリーンショットにはおすすめしません。

自分でホストする意味

第三者のスクリーンショットサービスを使うということは、自分のデータ、稼働率、リンクの寿命をその会社に預けるということです。サービスは終了することもあれば、 料金を変更することも、買収されることもあります。リンクは切れ、データの取り扱い方針も変わります。

自分でホストすれば、こうした依存関係はなくなります。画像は自分のサーバーに置かれ、自分のドメインで、置いておきたいだけ公開し続けられます。 プライバシーに配慮したいスクリーンショット、業務用のドキュメント、そして確実に生き続けてほしいリンク——こうした用途では、自分でホストするのが正解です。だからこそ多くの開発者は、 MonosnapではなくMaxisnapを選んでいます

Maxisnapをダウンロード して、今日からSFTPアップロードを設定しましょう。いちばん手っ取り早いのは、 MaxisnapでSFTPアップロードを設定する 手順ページです。ホスト、ポート、鍵、ベースURLを入力すれば完了。15分後には、より速く、よりプライベートで、完全に自分の管理下にあるスクリーンショット環境が手に入ります。

もっと使いやすいスクリーンショットツールを試してみませんか?

Maxisnapを無料でダウンロードして、その違いを体感してください。

Maxisnapを無料ダウンロード