SFTP 스크린샷 업로드 설정하기
대부분의 스크린샷 도구는 이미지를 자사 클라우드 서비스에 올립니다. 링크는 받지만 서버는 내 것이 아닙니다. 도메인도 고를 수 없습니다. 접근 권한도 설정할 수 없습니다. 그 링크가 2년 뒤에도 살아 있으리라는 보장도 없습니다. 게다가 업로드하는 모든 이미지를 — 민감한 정보가 담긴 스크린샷까지 — 제3자에게 맡기는 셈입니다.
SFTP 업로드는 이 구조를 뒤집습니다. 스크린샷은 내 서버, 내 도메인, 내 통제 아래 저장됩니다. 누가 접근할 수 있는지도, 얼마나 오래 남겨 둘지도 내가 정합니다. 캡처부터 링크까지 전 과정을 직접 관리하는 것입니다.
이 가이드에서는 Maxisnap으로 SFTP 스크린샷 업로드를 설정하는 방법을 서버 준비부터 설정, 첫 자동 업로드까지 단계별로 살펴봅니다. 웹 서버나 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 Studio — SFTP 업로드에는 Maxisnap Studio 애드온 ($20 일회성 결제)이 필요합니다. 무료 버전에도 캡처와 주석 기능은 모두 포함되어 있습니다.
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> 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 PC에서 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}— 링크를 유추할 수 없게 만드는 무작위 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
대역폭과 저장 공간
저장 공간 사용량은 이미지 크기, 내용, 형식, 캡처 빈도에 따라 달라집니다. 본인 작업 흐름에서 나온 대표적인 파일 크기를 재고, 예상 월간 캡처 수를 곱한 뒤, 보관 기간과 백업까지 감안한 여유 용량을 잡아 요금제를 고르세요.
문제 해결
"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~500KB)이라면 웬만한 회선에서 1초 안에 업로드가 끝나야 합니다. 계속 느리다면 서버까지의 네트워크 연결 상태를 확인하세요.
SFTP 대신 쓸 수 있는 방식
자체 서버가 있는 대부분의 사용자에게는 SFTP가 최선이지만, Maxisnap은 다른 프로토콜도 지원합니다.
- S3 호환 스토리지 — AWS S3, DigitalOcean Spaces, Cloudflare R2, MinIO. 서버를 직접 운영하지 않고 관리형 스토리지를 쓰고 싶은 팀에 알맞습니다.
- HTTP POST — 파일 업로드를 받는 어떤 API 엔드포인트로든 올릴 수 있습니다. 자체 백엔드와 연동할 때 알맞습니다.
- FTP — 오래된 프로토콜이며 암호화되지 않습니다. SFTP를 쓸 수 없을 때만 사용하세요. 민감한 스크린샷에는 권장하지 않습니다.
스크린샷을 직접 호스팅해야 하는 이유
제3자 스크린샷 서비스를 쓴다는 것은 내 데이터, 서비스 가동률, 링크를 그들에게 맡긴다는 뜻입니다. 서비스는 문을 닫기도 하고, 요금제를 바꾸기도 하며, 인수되기도 합니다. 링크는 깨지고, 데이터 정책은 바뀝니다.
직접 호스팅하면 이런 의존성이 사라집니다. 이미지는 내 서버에 있고, 내 도메인에서 열리며, 내가 원하는 기간만큼 그대로 남습니다. 프라이버시가 민감한 스크린샷이라면, 그리고 전문적인 문서 작업이나 오래도록 안정적으로 열려야 하는 링크라면 자체 호스팅이 정답입니다. 개발자들이 Monosnap 대신 Maxisnap을 선택하는를 참고하세요.
Maxisnap 다운로드 페이지에서 오늘 바로 SFTP 업로드를 설정해 보세요. 가장 빠른 길은 전용 Maxisnap에서 SFTP 스크린샷 업로드 설정하기 안내를 그대로 따라가는 것입니다. 호스트, 포트, 키, 기본 URL만 입력하면 끝납니다. 지금부터 15분이면 더 빠르고, 더 안전하며, 온전히 내 통제 아래 있는 스크린샷 워크플로를 갖게 됩니다.