如何为您的截图设置 SFTP 上传(完整指南)
大多数截图工具会将您的图片上传到它们自己的云服务。您会得到一个链接,但您无法控制服务器。您无法选择域名。您无法设置访问控制。您无法保证该链接两年后仍然有效。而且,您将上传的每张图片都委托给第三方——包括可能包含敏感数据的截图。
SFTP 上传颠覆了这种模式。您的截图会上传到您自己的服务器,在您自己的域名下,由您自己控制。您决定谁可以访问它们。您决定它们保留多长时间。您控制从捕获到链接的整个链条。
本指南将详细介绍如何使用 MaxisnapMaxisnap
SFTP 设置截图上传,从服务器准备到配置,再到您的首次自动上传。如果您有网络服务器或 VPS,您可以在 15 分钟内完成设置并运行。
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 Pro — SFTP 上传需要 Maxisnap Pro 许可证。免费版本包含完整的截图和标注功能。
步骤 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,请添加一个服务器块(或向您现有站点添加一个位置):
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 任务来删除旧文件:
# 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 匹配。检查您的 Web 服务器是否正在提供截图目录。尝试通过浏览器使用完整路径直接访问文件。
上传缓慢: SFTP 是加密的,与纯 FTP 相比会增加轻微开销。对于典型截图(200-500 KB),在任何合理的连接下,上传应在一秒内完成。如果上传持续缓慢,请检查您到服务器的网络连接。
SFTP 的替代方案
对于大多数拥有自己服务器的用户来说,SFTP 是最佳选择,但 Maxisnap 也支持其他协议:
- S3 兼容存储 — AWS S3、DigitalOcean Spaces、Cloudflare R2、MinIO。最适合希望获得托管存储而无需维护服务器的团队。
- HTTP POST — 上传到任何接受文件上传的 API 端点。最适合与自定义后端集成。
- FTP — 传统协议,未加密。仅在 SFTP 不可用时使用。不建议用于敏感截图。
为什么自托管截图很重要
使用第三方截图服务意味着您将数据、正常运行时间和链接托付给他们。服务可能会关闭、 更改定价或被收购。链接会失效。数据政策会改变。
自托管截图消除了这些依赖。您的图片存储在您的服务器上,可通过您的域名访问,只要您愿意,它们就会一直在那里。对于 隐私敏感的截图、专业文档以及需要可靠工作的链接——自托管是正确的选择。这是开发者 选择 Maxisnap 而非 Monosnap.
下载 Maxisnap 并立即设置 SFTP 上传的关键原因之一。十五分钟后,您将拥有一个更快、更私密且完全由您控制的截图工作流程。