スクリーンショットのSFTPアップロード設定方法(完全ガイド)
ほとんどのスクリーンショットツールは、画像を独自のクラウドサービスにアップロードします。リンクは取得できますが、サーバーを制御することはできません。ドメインを選択することもできません。アクセス制御を設定することもできません。2年後にリンクがまだ機能することを保証することもできません。そして、機密データを含む可能性のあるスクリーンショットを含め、アップロードするすべての画像を第三者に委ねることになります。
SFTPアップロードはこのモデルを覆します。スクリーンショットは、独自のサーバー、独自のドメイン、独自の管理下に置かれます。誰がアクセスできるかを決定し、どれくらいの期間公開するかを決定します。キャプチャからリンクまでの全チェーンを制御できます。
このガイドでは、SFTPスクリーンショットアップロードの設定方法を説明します。 Maxisnap、サーバーの準備から設定、そして最初の自動アップロードまで。ウェブサーバーまたはVPSをお持ちの場合、15分以内に稼働させることができます。
他のアップロード方法と比較したSFTPの利点
SFTP(SSHファイル転送プロトコル)は、暗号化された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.comIPアドレスよりもプロフェッショナルに見えます。 - Maxisnap Pro — SFTPアップロードには Maxisnap Pro license. 無料版には、完全なキャプチャと注釈機能が含まれています。
ステップ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を使用している場合は、サーバーブロックを追加します(または既存のサイトにロケーションを追加します)。
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を開き、 Settings > Uploadに移動します。選択します。 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+Shift+Escを押す Ctrl+Alt+7 (Maxisnapの自動アップロードホットキー)。画面の領域を選択します。Maxisnapはその領域をキャプチャし、SFTP経由でアップロードし、共有可能なリンクをクリップボードにコピーします。
そのリンクをブラウザに貼り付けてください。スクリーンショットはあなたのドメインから読み込まれるはずです。URLは次のようになります。
https://screenshots.yourdomain.com/2025-04-14_143022.png
これで完了です。キャプチャから共有可能なリンクまで3秒未満で、あなたのサーバーでホストされます。
ファイルの命名と整理
Maxisnapはデフォルトでキャプチャのタイムスタンプに基づいてファイル名を生成します(例: 2025-04-14_143022.png)。設定 > アップロード > ファイル名パターンで命名パターンをカスタマイズできます。オプションは次のとおりです。
{datetime}— 完全なタイムスタンプ(デフォルト){date}/{datetime}— 日付ベースのサブディレクトリに整理{random}— リンク不可能なURLのためのランダムな8文字の文字列{random}-{datetime}— 一意性のためのランダムなプレフィックスと検索性のためのタイムスタンプ
セキュリティを重視する設定では、 {random} 命名を使用してください。これによりURLは推測不可能になり、タイムスタンプをインクリメントしてスクリーンショットを列挙することは誰にもできません。
高度な設定: スクリーンショットサーバーのセキュリティ強化
プロフェッショナルな用途では、以下の追加セキュリティ対策を検討してください。
アクセス制御
デフォルトでは、スクリーンショットはURL経由で公開アクセス可能です。アクセスを制限するには、いくつかのオプションがあります。
- ランダムなファイル名 — 正確なリンクがなければURLは推測できません。シンプルですが、真のセキュリティではありません。
- Nginxベーシック認証 — スクリーンショットディレクトリ全体にパスワード保護を追加します。社内チームでの共有に便利です。
- 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
帯域幅とストレージ
平均的なスクリーンショットのサイズはPNG形式で200-500 KBです。1日あたり50枚のスクリーンショットで、およそ1日10-25 MB、または1ヶ月あたり300-750 MBになります。ほとんどのVPSプランは、これが必要とするよりもはるかに多くのストレージと帯域幅を含んでいます。スクリーンショットのホスティングはリソースを大量に消費しません。
トラブルシューティング
「Connection refused」またはタイムアウト: サーバーのSSHポートが開いていることを確認してください(ファイアウォールルールを sudo ufw statusで確認)。SSHサービスが実行されていることを確認してください(sudo systemctl status sshd).
「Permission denied」: SSHユーザーはリモートパスへの書き込み権限が必要です。所有権を ls -la /var/www/screenshots/で確認してください。ディレクトリはSSHユーザーまたはユーザーが属するグループによって所有されている必要があります。
アップロードは成功したが、リンクが機能しない: URLプレフィックスが実際の公開URLと一致していることを確認してください。ウェブサーバーがスクリーンショットディレクトリを公開していることを確認してください。完全なパスでブラウザ経由でファイルに直接アクセスしてみてください。
アップロードが遅い: 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アップロードを設定しましょう。15分後には、より高速でプライベート、そして完全にあなたの管理下にあるスクリーンショットワークフローが手に入ります。