OpenLab36 / SmartSFTP / 사용 매뉴얼

SmartSFTP 사용 매뉴얼

v1.5.1 기준 · 2026-08-11

1. 설치

요구 사항: Windows 10/11 또는 Windows Server 2016 이상(64bit). 추가 런타임 설치는 필요 없습니다.

설치 관리자로 설치 (권장)

  1. SmartSFTP-Setup-1.5.1.exe 를 내려받아 실행합니다. (관리자 권한 필요)
  2. 사용권 계약에 동의하고 설치 옵션을 선택합니다. (방화벽 규칙 · 트레이 자동 실행 · 바탕화면 바로가기)
  3. SFTP 포트를 지정합니다. (기본 2222) 관리 프로그램 관리자 비밀번호는 이 단계에서 함께 설정하거나 나중에 지정할 수 있습니다.
  4. 설치를 마치면 서비스가 등록·시작되고 트레이 아이콘이 실행됩니다.

설치 관리자가 자동으로 처리하는 항목:

  • 프로그램 파일 설치 (C:\Program Files\SmartSFTP\)
  • 기본 설정 생성 및 지정한 포트 적용
  • Windows 서비스 "SmartSFTP Server" 등록 + 시작 (부팅 시 자동 시작)
  • 방화벽 인바운드 허용 규칙 추가 (선택 시)
  • 로그온 시 트레이 아이콘 자동 실행 등록 (선택 시)

설치 후에는 사용자만 추가하면 바로 사용할 수 있습니다.

smartsftp.exe useradd user1 --password 비밀번호

압축본으로 수동 설치

설치 관리자를 쓸 수 없는 환경에서는 zip을 해제하고 아래 명령을 순서대로 실행합니다. (관리자 권한 명령 프롬프트)

smartsftp.exe config init          :: 기본 설정 파일 생성
smartsftp.exe useradd user1 --password 비밀번호
smartsftp.exe install              :: Windows 서비스 등록 (자동 시작)
smartsftp.exe start                :: 서비스 시작

설정·데이터는 C:\ProgramData\SmartSFTP\ 에 저장되므로 실행 파일 폴더를 옮겨도 설정은 유지됩니다.

참고 — 수동 설치 시 외부 접속을 허용하려면 방화벽 규칙을 직접 추가해야 합니다:
netsh advfirewall firewall add rule name="SmartSFTP" dir=in action=allow protocol=TCP localport=2222

2. 라이선스

라이선스 키를 등록하지 않으면 최초 설치일로부터 30일간 평가판으로 동작합니다. 평가 기간이 끝나면 신규 SFTP 접속이 거부되며, 이미 연결된 세션은 유지됩니다. 서비스 자체는 계속 실행되므로 키를 등록하면 즉시 정상 운영으로 돌아옵니다.

명령설명
license show현재 라이선스 / 평가 기간 상태와 잔여 일수 확인
license set <키>라이선스 키 등록 (서명 검증 후 저장)
smartsftp.exe license show
smartsftp.exe license set SFTP1-xxxxx.yyyyy

:: 등록 후 서비스 재시작
smartsftp.exe stop
smartsftp.exe start

라이선스는 오프라인 서명 검증 방식으로, 인증을 위한 외부 통신이 전혀 없습니다. 폐쇄망에서도 그대로 동작합니다. 키 등록은 명령 대신 트레이 아이콘 메뉴 또는 관리 프로그램의 "라이선스 등록" 화면에서도 할 수 있으며(입력 후 서비스 재시작까지 안내), 라이선스 상태는 트레이 메뉴의 "라이선스 정보"에서 확인할 수 있습니다.

참고 — 라이선스는 설치 서버 1대(기기 ID 1개) 단위로 발급됩니다(연 10,000원). 서버를 교체하거나 다른 서버로 이전하는 경우 기존 라이선스는 승계되지 않으며, 새 서버의 기기 ID로 신규 구매해야 합니다. 운영체제를 재설치하면 기기 ID가 바뀌므로 이 경우에도 신규 구매 대상입니다.

3. 트레이 아이콘

알림 영역(작업 표시줄 오른쪽)의 아이콘으로 서비스 상태를 확인하고 제어합니다. 설치 시 "트레이 자동 실행"을 선택했다면 로그온할 때 자동으로 실행되며, 수동 실행은 smartsftp-tray.exe 입니다.

아이콘 색상

색상상태
초록서비스 실행 중
회색서비스 중지됨
주황시작·중지 전환 중 또는 라이선스 주의(평가 기간 만료 등)
빨강서비스 미설치 또는 상태 확인 불가

아이콘에 마우스를 올리면 상태·수신 주소·라이선스 상태가 툴팁으로 표시됩니다. 상태는 3초마다 자동 갱신됩니다.

조작

동작결과
왼쪽 더블클릭관리 프로그램 열기 (설정 화면)
오른쪽 클릭메뉴 표시 — 서비스 시작 / 중지 / 재시작, 라이선스 등록, 라이선스 정보, 설정 폴더 열기, 로그 폴더 열기, 트레이 종료
참고 — 서비스 시작·중지는 관리자 권한이 필요하므로 실행 시 Windows UAC 확인 창이 표시됩니다. Windows 11에서 아이콘이 보이지 않으면 알림 영역의 ^ (숨겨진 아이콘 표시)를 눌러 확인하거나, 설정 → 개인 설정 → 작업 표시줄에서 항상 표시로 지정하세요.

4. 초기 설정

포트 변경

smartsftp.exe config set listen_addr 0.0.0.0:50000
smartsftp.exe stop
smartsftp.exe start

호스트키

최초 실행 시 ed25519·RSA 4096 호스트키가 자동 생성됩니다. 지문 확인:

smartsftp.exe config hostkeys

호스트키 파일(C:\ProgramData\SmartSFTP\host_ed25519, host_rsa)을 삭제하지 않는 한 키는 유지됩니다. 키가 바뀌면 모든 클라이언트에서 접속 경고가 발생하므로 서버 이전 시에는 키 파일을 함께 복사하세요.

5. 사용자 관리

사용자명은 영문자·숫자로 시작하고 . _ - 를 포함해 최대 64자입니다.

명령설명
useradd <계정> --password <비밀번호>사용자 추가. --home <경로> 홈 디렉터리 지정(기본 data\<계정>), --readonly 읽기전용
usermod <계정> --password <비밀번호>비밀번호 변경. --home 홈 변경, --disable / --enable 계정 잠금·해제
userdel <계정>사용자 삭제 (홈 디렉터리 파일은 남음)
userlist사용자 목록 (--json JSON 출력)

사용자 변경은 서비스 재시작 없이 즉시 반영됩니다. 각 사용자는 자신의 홈 디렉터리 밖으로 이동할 수 없습니다.

6. 서비스 운영

명령설명
install / uninstallWindows 서비스 등록 / 해제 (관리자 권한)
start / stop / status서비스 시작 / 중지 / 상태 확인 (관리자 권한 필요 — 트레이 아이콘에서도 제어 가능)
run서비스 대신 포그라운드 실행 (테스트·디버그용)
version버전 확인

서비스는 부팅 시 자동 시작하며, 비정상 종료 시 5초·15초 간격으로 자동 재시작합니다.

7. 관리 프로그램

v1.3부터 관리 화면이 브라우저 기반 웹 UI에서 윈도우 응용프로그램으로 바뀌었습니다. 웹서버·브라우저 없이 창 하나로 동작합니다.

  1. 관리자 비밀번호 설정: smartsftp.exe config set webui.admin_hash 관리자비밀번호 (bcrypt 해시로 저장됨 · 설치 관리자에서 설정했다면 생략)
  2. 시작 메뉴 "SmartSFTP 관리 UI" 또는 smartsftp-gui.exe 실행 → UAC 승인 → 관리자 계정으로 로그인 (기본 계정 admin)

관리 프로그램에서 처리할 수 있는 작업:

탭·영역기능
서비스 상태 (상단)실행 상태·PID 표시(3초 자동 갱신), 서비스 시작·중지
사용자계정 추가·수정·삭제, 활성/비활성, 읽기·쓰기·삭제·이름변경·폴더생성·목록조회 권한, 접속 허용 IP, 홈 디렉터리 지정(폴더 찾아보기)
설정포트·최대 접속·유휴 시간, 관리자 계정·비밀번호 변경, 로그인 차단, 로그·syslog 를 폼에서 편집·저장 (저장 후 서비스 재시작 안내) · 설정 파일 열기
호스트 키ed25519·RSA 호스트키 지문 확인
보안 — 관리 프로그램은 서버 로컬에서만 실행되는 데스크톱 앱으로, 네트워크 포트를 열지 않아 외부에서 접근할 수 없습니다. 서비스 제어·설정 변경에 관리자 권한이 필요하므로 실행 시 UAC 승인 창이 표시되고, 시작 후 관리자 계정 로그인을 거칩니다.

8. 설정 레퍼런스

설정 파일: C:\ProgramData\SmartSFTP\smartsftp.json · 현재 값 확인: smartsftp.exe config show — 주요 항목(서버·관리자·차단·로그·syslog)은 관리 프로그램의 설정 탭에서 편집할 수 있습니다.

항목기본값설명
listen_addr0.0.0.0:2222SFTP 수신 주소:포트
license_key(없음)라이선스 키 — 미설정 시 30일 평가판 (license set 으로 등록)
max_connections100최대 동시 접속 수
idle_timeout10m유휴 연결 자동 종료 시간 (0 = 무제한)
rate_limit10회 / 10분 / 60초 차단로그인 실패 IP 차단 — 횟수·window·차단 시간
web_ui.admin_user · admin_hashadmin · (없음)관리 프로그램 로그인 계정·비밀번호 (config set webui.admin_hash 로 설정, bcrypt 저장)
logging.levelinfo로그 레벨 (debug / info / warn / error)
logging.max_size_mb50하루 로그 파일 크기 상한 — 초과 시 _2, _3 순번 파일로 이어짐
logging.enable_event_logtrueWindows 이벤트로그 기록
logging.log_file_opstrue파일 작업(업로드·삭제 등) 로그 기록 — 권한 거부 시도는 이 설정과 무관하게 항상 기록
logging.syslog(꺼짐)외부 syslog 전송 — enabled · address(host:port) · protocol(udp/tcp) · facility(기본 16=local0) · tag

config set 으로 바꿀 수 있는 항목: listen_addr, webui.listen_addr, webui.admin_user, webui.admin_hash. 그 외 항목은 설정 파일을 직접 수정한 뒤 서비스를 재시작하세요. 계정별 허용 IP(ip_whitelist)와 세부 권한은 관리 프로그램에서 설정합니다.

9. 클라이언트 접속

표준 SFTP 클라이언트(WinSCP, FileZilla, OpenSSH sftp 등)로 접속합니다.

클라이언트설정
WinSCP프로토콜 SFTP · 호스트 서버IP · 포트 2222 · 계정/비밀번호
FileZilla호스트 sftp://서버IP · 포트 2222
명령줄sftp -P 2222 user1@서버IP

최초 접속 시 표시되는 호스트키 지문을 config hostkeys 결과와 대조해 승인하세요.

10. 로그·모니터링

  • 파일 로그: C:\ProgramData\SmartSFTP\logs\연\월\YYYY-MM-DD.log — 일자별 파일로 기록됩니다(예: logs\2026\08\2026-08-10.log). 서버 시작 시 폴더가 자동 생성되고, 날짜가 바뀌면 새 파일로 넘어갑니다. 하루 파일이 크기 상한을 넘으면 _2, _3 순번 파일로 이어집니다.
  • 기록 내용: 접속·인증(성공/실패, IP 차단)과 파일 작업 — 접속 IP·계정·행위(read/write/remove/rename/mkdir/list)·대상 경로가 JSON 한 줄씩 남습니다. 권한이 없어 거부된 시도는 operation denied 로 사유와 함께 항상 기록됩니다.
  • syslog 전송: 설정에서 켜면 같은 로그를 외부 syslog 서버로도 전송합니다(RFC 3164, UDP/TCP). 수집 서버 장애 시에도 서비스는 영향 없이 로컬 기록을 계속합니다.
  • 이벤트로그: 이벤트 뷰어 → Windows 로그 → 응용 프로그램, 원본 SmartSFTP — 서비스 시작·중지·오류가 기록됩니다.
  • 서비스 상태: smartsftp.exe status 또는 services.msc 의 SmartSFTP Server.
:: 로그 예시 — 인증 성공, 파일 업로드, 권한 거부
{"time":"...","level":"INFO","msg":"auth success","user":"user1","ip":"10.0.0.5"}
{"time":"...","level":"INFO","msg":"file write","user":"user1","ip":"10.0.0.5","path":"/report.xlsx"}
{"time":"...","level":"WARN","msg":"operation denied","user":"user1","ip":"10.0.0.5","op":"remove","path":"/report.xlsx","reason":"no delete permission"}
:: syslog 전송 설정 예시 (smartsftp.json 의 logging 섹션, 수정 후 서비스 재시작)
"syslog": { "enabled": true, "address": "192.168.0.10:514", "protocol": "udp", "facility": 16, "tag": "smartsftp" }

11. 문제 해결

증상확인 사항
외부에서 접속이 안 됨Windows 방화벽 인바운드 규칙(1장 참고), 공유기·상위 방화벽의 포트 개방, listen_addr127.0.0.1 로 제한돼 있지 않은지 확인
로그인이 계속 실패로그의 auth failed 확인. 실패 반복으로 IP가 차단된 경우 기본 60초 후 자동 해제. 계정이 disabled 상태인지 userlist 로 확인
클라이언트가 호스트키 변경 경고서버 재설치 등으로 키가 바뀐 경우. config hostkeys 지문과 대조 후 클라이언트 캐시 갱신. 서버 이전 시 키 파일을 함께 복사하면 예방 가능
서비스가 시작되지 않음이벤트로그(원본 SmartSFTP) 오류 확인. 포트 중복 사용 여부: netstat -ano | findstr :2222
status 명령이 Access denied서비스 제어(SCM) 조회는 관리자 권한 프롬프트에서 실행. 트레이 아이콘은 일반 권한으로도 상태를 표시함
접속이 갑자기 모두 거부됨평가 기간(30일) 종료 여부 확인: smartsftp.exe license show. 로그에 connection rejected (license) 가 기록됨. 라이선스 키 등록 후 서비스 재시작
트레이 아이콘이 보이지 않음알림 영역의 ^(숨겨진 아이콘) 확인. 미실행 시 설치 폴더의 smartsftp-tray.exe 직접 실행

12. 제거

설치 관리자로 설치한 경우 설정 → 앱 → 설치된 앱에서 SmartSFTP를 제거합니다. 트레이 종료, 서비스 중지·해제, 방화벽 규칙 삭제, 자동 실행 등록 해제가 자동으로 처리됩니다.

수동 설치한 경우 아래 명령으로 서비스를 해제한 뒤 실행 파일 폴더를 삭제합니다.

smartsftp.exe stop
smartsftp.exe uninstall

어느 방식이든 설정·사용자 데이터는 보존됩니다. 완전히 지우려면 C:\ProgramData\SmartSFTP\ 폴더를 삭제하세요. 사용자 홈 디렉터리를 다른 위치로 지정했다면 해당 파일은 남습니다.

참고 — 재설치 후에도 같은 서버에서 계속 사용하려면 C:\ProgramData\SmartSFTP\ 를 남겨두세요. 호스트키가 유지되어 클라이언트의 호스트키 변경 경고를 피할 수 있습니다.