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 서버를 성공적으로 구축하시길 바랍니다.

관련 영상

같이 보면 좋은 글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다