![]()
OpenSSH 다운로드 및 설치

SFTP 서버를 구축하기 위해서는 먼저 OpenSSH를 다운로드하고 설치해야 합니다. OpenSSH는 Windows 환경에서도 사용할 수 있도록 개발된 포트입니다.
아래의 절차를 따라 설치를 진행해 주시기 바랍니다.OpenSSH 패키지 다운로드
- GitHub OpenSSH for Windows 릴리스 페이지로 이동: 최신 버전의 OpenSSH를 다운로드하기 위해 GitHub의 OpenSSH for Windows 릴리스 페이지에 방문합니다.
- 최신 릴리스 찾기: 페이지에서 최신 릴리스를 찾아 "OpenSSH-Win64.zip" 파일을 다운로드합니다.
| 작업 | 설명 |
|---|---|
| 다운로드 링크 | OpenSSH GitHub Releases |
| 파일 이름 | OpenSSH-Win64.zip |
압축 해제 및 설치
- 압축 해제: 다운로드한 "OpenSSH-Win64.zip" 파일의 압축을 해제합니다. 예를 들어,
C:\Program Files\OpenSSH디렉토리에 압축을 해제할 수 있습니다. - PowerShell 실행: 관리자 권한으로 PowerShell을 실행합니다.
- OpenSSH 설치 스크립트 실행: PowerShell에서 다음 명령어를 입력하여 OpenSSH를 설치합니다.
powershell
cd 'C:\Program Files\OpenSSH'
.\install-sshd.ps1
서비스 시작 및 설정
OpenSSH가 설치되면, sshd 서비스와 ssh-agent 서비스를 시작하고 이들의 시작 유형을 자동으로 설정해야 합니다.
powershell
Start-Service sshd
Start-Service ssh-agent
Set-Service -Name sshd -StartupType 'Automatic'
Set-Service -Name ssh-agent -StartupType 'Automatic'
방화벽 규칙 추가
SFTP 서버가 외부에서 접근 가능하도록 방화벽 규칙을 추가해야 합니다. 다음 명령어를 PowerShell에 입력해 주세요.
powershell
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
이렇게 하면 Windows Server 2016에서 OpenSSH 기반의 SFTP 서버를 위한 기본적인 설치가 완료됩니다.
사용자 설정

SFTP 서버를 활용하기 위해서는 사용자 계정을 설정하고 해당 계정의 홈 디렉토리를 생성해야 합니다. 이 과정은 사용자가 SFTP를 통해 파일을 전송할 수 있는 공간을 제공하는 중요한 단계입니다.
홈 디렉토리 생성
- 사용자 디렉토리 생성: 예를 들어,
C:\SFTP\username이라는 디렉토리를 생성합니다. - PowerShell 명령어 입력: 다음 명령어를 통해 디렉토리를 생성합니다.
powershell
New-Item -ItemType Directory -Path "C:\SFTP\username"
- 권한 설정: 생성한 디렉토리에 사용자에게 읽기 및 쓰기 권한을 부여합니다. 다음 명령어를 사용하여 권한을 설정합니다.
powershell
icacls "C:\SFTP\username" /grant username:F
| 작업 | 설명 |
|---|---|
| 사용자 디렉토리 생성 | C:\SFTP\username |
| 권한 부여 | 사용자에게 읽기/쓰기 권한 부여 |
이렇게 사용자 디렉토리를 생성하고 권한을 설정하면, 사용자는 해당 폴더에 접근하여 파일을 업로드하거나 다운로드할 수 있게 됩니다.
SFTP 서버 설정 테스트

SFTP 서버가 정상적으로 작동하는지 테스트하기 위해 SFTP 클라이언트를 사용할 수 있습니다. WinSCP, FileZilla와 같은 여러 클라이언트 프로그램이 있으며, 이들 중 하나를 선택하여 테스트를 진행하면 됩니다.
SFTP 클라이언트 사용
- 클라이언트 다운로드: WinSCP 또는 FileZilla와 같은 SFTP 클라이언트를 다운로드하여 설치합니다.
- 서버 주소 입력: SFTP 클라이언트에서 서버의 IP 주소나 도메인 이름을 입력합니다.
- 포트 번호 입력: 기본적으로 SFTP는 포트 22를 사용합니다.
- 사용자 이름 및 비밀번호 입력: Windows 사용자 계정의 사용자 이름과 비밀번호를 입력합니다.
| 작업 | 설명 |
|---|---|
| 클라이언트 프로그램 | WinSCP, FileZilla |
| 서버 주소 | 서버의 IP 주소 또는 도메인 이름 |
| 포트 번호 | 22 |
테스트가 완료되면, 성공적으로 서버에 연결되었는지 확인할 수 있습니다. 연결이 되면 파일을 업로드하거나 다운로드하여 기능이 정상적으로 작동하는지 점검합니다.
추가 설정 (선택 사항)
SFTP 서버의 보안을 강화하고 사용자 접근을 제한하기 위해 추가적인 설정을 진행할 수 있습니다. 특정 사용자가 지정된 디렉토리 이외에는 접근하지 못하도록 제한하려면 sshd_config 파일을 편집해야 합니다.
sshd_config 파일 편집
- sshd_config 파일 위치:
C:\ProgramData\ssh\sshd_config파일을 찾아 엽니다. - 파일 편집: 파일의 끝에 다음 줄을 추가하여 사용자의 루트 디렉토리를 제한합니다.
plaintext
Match User username
ChrootDirectory C:\SFTP\username
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
이렇게 설정하면, 해당 사용자 계정은 지정된 디렉토리 이외의 다른 디렉토리에 접근할 수 없게 됩니다.
sshd 서비스 다시 시작
변경사항을 적용하기 위해서는 sshd 서비스를 다시 시작해야 합니다. PowerShell에서 다음 명령어를 입력하여 서비스를 재시작합니다.
powershell
Restart-Service sshd
| 작업 | 설명 |
|---|---|
| sshd_config 파일 위치 | C:\ProgramData\ssh\sshd_config |
| 서비스 재시작 | PowerShell에서 Restart-Service sshd |
이렇게 추가 설정을 진행하면 SFTP 서버의 보안을 한층 더 강화할 수 있습니다. 필요에 따라 추가적인 보안 설정이나 고급 구성을 진행하여 운영 환경에 맞게 조정할 수 있습니다.
결론
Windows Server 2016에서 SFTP 서버를 구축하는 과정은 생각보다 간단합니다. OpenSSH를 설치하고, 사용자 계정을 설정하며, SFTP 클라이언트를 통해 테스트를 진행하는 것만으로도 충분히 안전하고 효율적인 파일 전송 환경을 만들 수 있습니다.
추가적인 보안 설정을 통해 더욱 안전한 운영이 가능하니, 필요에 따라 적절한 설정을 진행해 보시기 바랍니다.