2025-04-14 · 閱讀時間 9 分鐘

如何設定 SFTP 上傳您的螢幕截圖 (完整指南)

大多數螢幕截圖工具會將您的圖片上傳到它們自己的雲端服務。您會得到一個連結,但您無法控制伺服器。您無法選擇網域。您無法設定存取控制。您無法保證該連結在兩年後仍然有效。而且您將信任第三方處理您上傳的每一張圖片 — 包括可能包含敏感資料的螢幕截圖。

SFTP 上傳顛覆了這種模式。您的螢幕截圖會上傳到您自己的伺服器,在您自己的網域下,由您自己控制。您決定誰可以存取它們。您決定它們保留多久。您控制從擷取到連結的整個鏈條。

本指南將逐步說明如何使用 Maxisnap 設定 SFTP 螢幕截圖上傳,從伺服器準備到配置,再到您的首次自動上傳。如果您有網頁伺服器或 VPS,您可以在 15 分鐘內完成設定並開始運行。 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,請新增一個伺服器區塊(或將位置新增到您現有的網站):

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/2025-04-14_143022.png

就這樣。從擷取到可分享連結,不到三秒鐘,並託管在您自己的伺服器上。

檔案命名與組織

Maxisnap 預設根據擷取時間戳記生成檔案名稱(例如, 2025-04-14_143022.png)。您可以在「設定」>「上傳」>「檔案名稱模式」中自訂命名模式。選項包括:

  • {datetime} — 完整時間戳記(預設)
  • {date}/{datetime} — 組織成基於日期的子目錄
  • {random} — 用於無法連結 URL 的隨機 8 字元字串
  • {random}-{datetime} — 帶有時間戳記的隨機前綴,用於唯一性和可尋找性

對於注重安全性的設定,請使用 {random} 命名。這使得 URL 無法猜測 — 沒有人可以透過遞增時間戳記來枚舉您的螢幕截圖。

進階:保護您的螢幕截圖伺服器

對於專業用途,請考慮以下額外的安全措施:

存取控制

預設情況下,您的螢幕截圖可透過 URL 公開存取。若要限制存取,您有以下幾種選擇:

  • 隨機檔案名稱 — 沒有確切連結,URL 無法猜測。簡單但並非真正的安全措施。
  • Nginx 基本認證 — 為整個螢幕截圖目錄新增密碼保護。適用於內部團隊分享。
  • IP 白名單 — 將存取權限限制在您的辦公室或 VPN IP 範圍。
  • 簽名 URL — 如果您使用 S3 相容儲存而非 SFTP,您可以產生有時間限制的簽名 URL。

自動清理

螢幕截圖會隨著時間累積。新增一個 cron job 來刪除舊檔案:

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

頻寬和儲存空間

平均螢幕截圖大小為 200-500 KB (PNG 格式)。每天 50 張螢幕截圖,大約是每天 10-25 MB,或每月 300-750 MB。大多數 VPS 方案提供的儲存空間和頻寬遠超過此需求。螢幕截圖託管並非資源密集型。

疑難排解

「連線被拒」或逾時: 驗證您的伺服器 SSH 連接埠已開啟(使用防火牆規則檢查,例如 sudo ufw status)。確保 SSH 服務正在運行(例如sudo systemctl status sshd).

「權限不足」: 您的 SSH 使用者需要遠端路徑的寫入權限。使用 ls -la /var/www/screenshots/檢查所有權。該目錄應由您的 SSH 使用者或您的使用者所屬的群組擁有。

上傳成功但連結無效: 驗證您的 URL 前綴與實際的公開 URL 相符。檢查您的網頁伺服器是否正在提供螢幕截圖目錄。嘗試透過瀏覽器使用完整路徑直接存取檔案。

上傳緩慢: SFTP 已加密,與純 FTP 相比會增加輕微的開銷。對於典型的螢幕截圖(200-500 KB),在任何合理的連線下,上傳應在一秒內完成。如果上傳持續緩慢,請檢查您與伺服器之間的網路連線。

SFTP 的替代方案

對於大多數擁有自己伺服器的使用者來說,SFTP 是最佳選擇,但 Maxisnap 也支援其他協定:

  • S3 相容儲存 — AWS S3、DigitalOcean Spaces、Cloudflare R2、MinIO。最適合希望使用託管儲存而無需維護伺服器的團隊。
  • HTTP POST — 上傳到任何接受檔案上傳的 API 端點。最適合與自訂後端整合。
  • FTP — 傳統協定,未加密。僅在 SFTP 不可用時使用。不建議用於敏感的螢幕截圖。

為什麼自託管螢幕截圖很重要

使用第三方螢幕截圖服務意味著將您的資料、服務正常運行時間和連結託付給他們。服務可能會關閉、 更改定價,或被收購。連結會失效。資料政策會改變。

自託管螢幕截圖消除了這些依賴。您的圖片存放在您的伺服器上,可透過您的網域存取,只要您願意,它們就會一直在那裡。對於 隱私敏感的螢幕截圖、專業文件,以及需要可靠運作的連結 — 自託管是正確的選擇。這是開發人員選擇 Maxisnap 而非 Monosnap 的主要原因之一, 選擇 Maxisnap 而非 Monosnap.

下載 Maxisnap 並立即設定 SFTP 上傳。從現在起十五分鐘後,您將擁有一個更快、更私密且完全由您控制的螢幕截圖工作流程。

準備好嘗試更好的截圖工具了嗎?

免費下載 Maxisnap,體驗不同之處。

免費下載 Maxisnap