Window Server 2016에서 SFTP 서버 구축하기

2025-05-20 · Uncategorized · 읽는데 11분

Window Server 2016에서 SFTP 서버 구축하기
SFTP(SSH File Transfer Protocol)는 보안 파일 전송을 위한 프로토콜로, 파일 전송의 보안성과 무결성을 보장합니다. Windows Server 2016에서 SFTP 서버를 구축하는 방법에 대해 알아보겠습니다.

이 글에서는 SFTP와 FTPS의 차이점, SFTP 서버 구축 방법, 그리고 구축 후 확인할 수 있는 테스트 방법에 대해 자세히 설명하겠습니다.

썸네일

SFTP와 FTPS의 차이점

SFTP와 FTPS는 모두 파일 전송을 위한 프로토콜이지만, 두 프로토콜 간에는 몇 가지 중요한 차이점이 있습니다. 일반적으로 SFTP는 SSH(보안 셸)를 기반으로 하며, FTPS는 FTP(파일 전송 프로토콜)를 TLS(전송 계층 보안) 또는 SSL(보안 소켓 계층)로 보안하는 방식입니다.

이 두 프로토콜은 다음과 같은 특성을 가지고 있습니다.

특성 SFTP FTPS
프로토콜 기반 SSH FTP + SSL/TLS
포트 사용 기본적으로 22포트 기본적으로 21포트 (데이터 전송을 위한 추가 포트 필요)
데이터 전송 방식 단일 연결 제어 연결과 데이터 연결을 위한 다중 연결
방화벽 통과 더 쉽게 방화벽을 통과할 수 있음 방화벽에서의 설정이 복잡할 수 있음
인증 방법 SSH 키 또는 비밀번호 인증 SSL 인증서 필요

이 표를 통해 SFTP와 FTPS의 차이를 쉽게 비교할 수 있습니다. SFTP는 모든 통신이 하나의 연결을 통해 이루어지기 때문에 방화벽을 통과하기가 더 용이합니다.

반면, FTPS는 데이터 전송을 위해 추가적인 포트를 사용해야 하므로 방화벽 설정이 더 복잡할 수 있습니다.

SFTP 서버 구축 준비

Windows Server 2016에서 SFTP 서버를 구축하기 위해서는 몇 가지 사전 준비가 필요합니다. 우선, OpenSSH 서버를 설치해야 합니다.

OpenSSH는 Windows에서 SSH 및 SFTP를 지원하는 소프트웨어입니다. 다음과 같은 단계를 통해 OpenSSH를 설치할 수 있습니다.

  1. Windows 기능 추가: 서버 관리자를 열고 '역할 및 기능 추가' 마법사를 실행합니다.
  2. OpenSSH 서버 선택: 기능 선택 단계에서 'OpenSSH 서버'를 선택합니다.
  3. 설치 완료: 설치가 완료되면 OpenSSH 서버가 Windows 서비스로 등록됩니다.

설치가 완료된 후, SFTP 서버를 설정하기 위해 몇 가지 추가 구성이 필요합니다. 이 과정에서 SSH 키 생성, 사용자 계정 설정, 방화벽 규칙 추가 등이 포함됩니다.

단계 설명
1. OpenSSH 설치 Windows 기능 추가를 통해 OpenSSH 서버를 설치
2. SSH 키 생성 'ssh-keygen' 명령어를 사용하여 SSH 키 생성
3. 사용자 계정 설정 SFTP 사용자를 위한 계정 추가
4. 방화벽 규칙 추가 22포트에 대한 방화벽 규칙 추가

위의 표는 SFTP 서버 구축을 위한 기본 단계를 요약한 것입니다. 각 단계를 수행하면서 발생할 수 있는 오류나 문제를 사전에 예방하기 위해, 문서화된 가이드를 참조하는 것이 좋습니다.

다른 내용도 보러가기 #1

SFTP 서버 구성

OpenSSH 서버를 성공적으로 설치한 후, 이제 SFTP 서버를 구성해야 합니다. 아래는 SFTP 서버 구성을 위한 주요 단계입니다.

  1. sshd_config 파일 수정: OpenSSH의 설정 파일인 sshd_config 파일을 수정하여 SFTP 구성을 설정해야 합니다. 이 파일은 C:\ProgramData\ssh\ 경로에 위치해 있습니다. 파일을 열어서 다음과 같은 내용을 추가하거나 변경합니다.

plaintext Subsystem sftp sftp-server.exe

이 설정은 SFTP 서브시스템을 활성화합니다.

  1. 사용자 계정 추가: SFTP를 사용하기 위해서는 해당 사용자 계정을 추가하고, 홈 디렉토리의 권한을 설정해야 합니다. 아래와 같은 명령어를 사용하여 사용자를 추가할 수 있습니다.

bash net user sftpuser Password123 /add

여기서 sftpuser는 사용자 이름, Password123은 비밀번호입니다.

  1. 홈 디렉토리 설정: 사용자의 홈 디렉토리를 생성하고 권한을 설정해야 합니다. 다음과 같은 명령어를 사용하여 홈 디렉토리를 설정합니다.

bash mkdir C:\SFTP\sftpuser icacls C:\SFTP\sftpuser /grant sftpuser:(OI)(CI)F

이 명령어는 sftpuser에게 홈 디렉토리에 대한 모든 권한을 부여합니다.

  1. 서비스 시작: 모든 설정이 완료되면 OpenSSH 서비스를 시작해야 합니다. 아래의 명령어를 입력하여 서비스를 시작할 수 있습니다.

bash Start-Service sshd

항목 설명
1. sshd_config 수정 SFTP 서브시스템 활성화
2. 사용자 계정 추가 SFTP에 사용할 사용자 계정 추가
3. 홈 디렉토리 설정 사용자 홈 디렉토리 생성 및 권한 설정
4. 서비스 시작 OpenSSH 서비스 시작

위 단계들을 통해 SFTP 서버의 구성을 완료할 수 있습니다. 모든 설정이 올바르게 이루어졌는지 확인하기 위해서는 다음 단계인 테스트를 수행해야 합니다.

SFTP 서버 테스트

SFTP 서버의 구성이 완료되었다면, 이제 SFTP 서버가 정상적으로 작동하는지 테스트해야 합니다. 테스트를 위해 SFTP 클라이언트를 사용할 수 있습니다.

일반적으로 사용되는 클라이언트는 FileZilla, WinSCP 등이 있습니다.

  1. SFTP 클라이언트 설치: 먼저, SFTP 클라이언트를 설치합니다. 예를 들어, WinSCP를 사용할 수 있습니다.

  2. 서버 연결: SFTP 클라이언트를 열고 새로운 연결을 설정합니다. 다음과 같은 정보를 입력합니다.

  3. 호스트: 서버 IP 주소 또는 도메인

  4. 사용자 이름: sftpuser
  5. 비밀번호: Password123
  6. 포트 번호: 22

  7. 파일 전송 테스트: 연결이 성공하면 파일을 서버에 업로드하거나 다운로드하여 정상적으로 작동하는지 확인합니다.

단계 설명
1. 클라이언트 설치 SFTP 클라이언트(예: WinSCP) 설치
2. 서버 연결 설정 서버 IP, 사용자 이름, 비밀번호 입력
3. 파일 전송 테스트 파일 업로드 및 다운로드 시도

이 테스트를 통해 SFTP 서버가 정상적으로 작동하는지 확인할 수 있습니다. 문제가 발생할 경우, 로그 파일을 확인하여 오류를 분석하고 수정할 수 있습니다.

결론

Windows Server 2016에서 SFTP 서버를 구축하는 과정은 비교적 간단하지만, 각 단계를 정확하게 수행하는 것이 필요합니다. SFTP는 안전한 파일 전송을 가능하게 하여 기업의 데이터 보호에 큰 기여를 합니다.

따라서 SFTP 서버를 구축하고 운영하는 것은 보안 관리 측면에서 매우 중요한 작업입니다. 이 글을 통해 SFTP 서버를 성공적으로 구축하시길 바랍니다.

관련 영상

같이 보면 좋은 글