Windows에서 SFTP 서버 설정
SFTP 서버를 사용하면 보안 네트워크 프로토콜인 SSH 파일 전송 프로토콜을 통해 파일과 콘텐츠에 액세스할 수 있습니다. OS 환경 내에서 SFTP 서버를 설정하여 리소스를 검색하고 보낼 수 있습니다.
이 기사에서는 WinSCP 소프트웨어를 사용하여 Windows에서 SFTP 서버를 설정하는 방법에 대해 설명합니다.
이전 Windows용 SFTP 서버 설정
Windows에서 SFTP 서버를 설정하려면 PowerShell GitHub에서 다운로드할 수 있는 OpenSSH를 설치해야 합니다. Linux용 설치 가이드 환경에서 확인하실 수 있습니다.
msi
또는 zip
파일을 다운로드할 수 있지만 이 문서에서는 msi
파일만 사용합니다.
-
msi
파일을 설치합니다. 그런 다음서비스
로 이동하여OpenSSH 서버
및OpenSSH 인증 에이전트
의 상태를 확인하십시오. -
상태
및시작 유형
이실행 중
및자동
이 아니면 두 서비스를 마우스 오른쪽 버튼으로 클릭하고속성
을 선택합니다. -
시작 유형
을자동
으로 변경하고시작
을 클릭한 다음확인
을 선택합니다. -
OpenSSH 인증 에이전트
에 대해 동일한 작업을 수행합니다. 이제 두 서비스 모두실행 중
및자동
이어야 합니다.
최신 Windows용 SFTP 서버 설정
-
최신 Windows의 경우
설정 > 앱 > 선택적 기능
으로 이동하여 OpenSSH를 얻을 수 있습니다. -
기능 보기
를 선택하고옵션 기능 추가
대화 상자에서OpenSSH 서버
를 검색합니다. -
OpenSSH 서버
확인란 옵션을 선택하고설치
를 클릭합니다. -
그런 다음 서버로 들어오는 연결을 허용하도록 아래 PowerShell 명령을 사용하여 SSH 서버를 구성합니다.
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -Program "C:\\Windows\\System32\\OpenSSH\\sshd.exe"
-
구성이 끝나면
OpenSSH 서버
서비스를 시작하겠습니다. 이를 설정하려면 검색창에서서비스
를 검색해야 합니다. -
Windows 서비스 목록에서
OpenSSH 서버
를 찾으십시오. -
서비스를 마우스 오른쪽 버튼으로 클릭하고
속성
을 선택합니다. -
시작 유형
을자동
으로 변경하고시작
을 클릭한 다음확인
을 선택합니다. -
OpenSSH 인증 에이전트
에 대해 동일한 작업을 수행합니다. 이제 두 서비스 모두실행 중
및자동
이어야 합니다.
WinSCP를 사용하여 SFTP 클라이언트 설정 및 구성
WinSCP는 무료로 사용하고 수정할 수 있는 GPL-3.0 전용 소프트웨어입니다. 이를 통해 SSH 파일 전송 및 Amazon S3를 비롯한 다양한 프로토콜에서 안전한 파일 전송을 수행할 수 있습니다.
Windows에서만 사용할 수 있으며 다운로드 페이지에서 다운로드할 수 있습니다.
-
다운로드 후 설치 프로그램 파일을 실행하고
설치 모드
를 선택하십시오. -
라이선스 계약에 동의하고
일반 설치
옵션을 선택합니다. -
원하는 사용자 인터페이스 스타일을 선택하되 이 문서에서는
Commander
를 사용합니다. -
그런 다음
설치
를 클릭하고WinSCP
애플리케이션을 시작합니다. -
시작하면 아래와 비슷한 화면이 표시됩니다.
-
호스트 이름을 입력하십시오.
localhost
를 사용하십시오. 기본 포트 번호22
를 사용하고 컴퓨터 이름과 암호를 입력합니다. 그런 다음로그인
버튼을 클릭합니다. -
아래 화면 대화 상자가 나타나면
예
를 선택해야 합니다. -
성공하면 아래 화면이 표시됩니다.
-
성공하지 못한 경우
OpenSSH
서비스가 실행되고 있지 않기 때문에 아래와 같은 대화 상자가 표시될 수 있으며 앞서 언급한 두OpenSSH
서비스를 시작해야 합니다. -
이제
ssh-keygen
명령을 사용하여 공개 키 기반 인증을 설정할 수 있습니다.ssh-keygen
명령의 출력은 다음과 같습니다.
Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\akinl/.ssh/id_rsa): Created directory 'C:\Users\akinl/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in C:\Users\akinl/.ssh/id_rsa. Your public key has been saved in C:\Users\akinl/.ssh/id_rsa.pub. The key fingerprint is: SHA256:Ryrpy5HHTT1NK2OFzT3NjoIwORbzNV7/BfBfPLhHCEk akinl@Olorunfemi-PC The key's randomart image is: +---[RSA 3072]----+ | o .E=.o | | = +.Bo*.| | * o oo*+O| | o * o +o=*| | o S + B.+.+| | . + + . =. | | + o . | | . + | | o | +----[SHA256]-----+
ssh-keygen
도구가 암호를 요청할 때 암호를 입력할 수 있지만 이 문서에서는 암호를 사용하지 않습니다.ssh-keygen
은.ssh
라는 숨겨진 디렉토리를 생성하고.ssh
아래의id_rsa.pub
파일 내에 키 쌍을 저장했습니다.공개 키 전체 경로는
C:\Users\akinl/.ssh/id_rsa.pub
입니다.공개 키는
id_rsa.pub
파일이고 개인 키는id_rsa
입니다. -
개인 및 공개 키를 WinSCP에 연결하려면
.ssh
폴더 내에authorized_keys
라는 파일을 생성해야 합니다. 공개 키 콘텐츠id_rsa.pub
를authorized_keys
파일에 복사하고 변경 사항을 저장합니다. 메모장과 같은 텍스트 편집기를 사용할 수 있습니다. -
.ssh
디렉토리에는 최소한 3개의 파일(authorized_keys
,id_rsa
및id_rsa.pub
)이 있어야 합니다. -
authorized_keys
파일을 안전하게 유지하고 관리자 또는 핵심 사용자만 액세스할 수 있도록 하려면액세스 제어 목록(ACL)
을 구성해야 합니다. 아래 명령을 사용하여 액세스 제어를 구성합니다.icacls.exe "C:\Users\<username>\.ssh\authorized_keys" /inheritance:r /grant "Adminstrators:F" /grant "SYSTEM:F"
-
<사용자 이름>
을 사용자 이름으로 변경합니다.icacls.exe "C:\Users\akinl\.ssh\authorized_keys" /inheritance:r /grant "Adminstrators:F" /grant "SYSTEM:F"
명령의 출력:
processed file: C:\Users\akinl\.ssh\authorized_keys Successfully processed 1 file; Failed processing 0 files
-
따라서 이제 동일한
authorized_keys
파일을 열면 아래 대화 상자가 표시되어야 합니다. -
SFTP 서버를 완전히 구성하려면
sshd_config
파일을 편집하여 공개 키 기반 인증을 설정해야 합니다.sshd_config
파일은ProgramData
디렉토리에서 사용할 수 있습니다. 아래의 전체 경로를 Windows 탐색기에 복사하고sshd_config
파일을 엽니다.C:\ProgramData\ssh
sshd_config
파일은 디렉토리 내의 마지막 파일입니다. -
sshd_config
파일에서 구성 정보가 포함된 행의 주석을 제거하거나 변경하여 수정하십시오. 또한관리자
권한으로sshd_config
파일을 엽니다.PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no PermitEmptyPasswords no Subsystem sftp internal-sftp Match User <username> X11Forwarding no AllowTcpForwarding no PermitTTY no ForceCommand internal-sftp PasswordAuthentication no
또한
<사용자 이름>
을 사용자 이름으로 변경해야 합니다. 또한 파일 내에서 다음 구성 정보에 대해 설명할 수 있습니다.Match Group administrators AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
-
ssh_config
파일에 대한 변경 사항은 아래 이미지와 같아야 합니다. -
이제 이전 사용자 이름과 암호 로그인 방법을 사용하여 WinSCP를 열어 보겠습니다.
공개 키 인증만 지원하도록 구성 파일을 변경했기 때문에 더 이상 지원되지 않습니다. 지금 로그인하려면 공개 키를 사용해야 합니다.
-
암호
를 사용하는 대신고급
버튼을 클릭하십시오. -
SSH
아래의인증
탭으로 이동합니다. -
Authentication parameters
영역에서 개인 키 파일을 찾아.ssh
디렉토리(C:\Users\akinl\.ssh
)로 이동한 다음 파일 옵션을All Files
로 변경합니다. -
id_rsa
파일을 선택하면 아래 대화 상자가 나타납니다.확인
을 선택하십시오.그런 다음 아래 대화 상자가 표시됩니다.
-
그런 다음
확인
을 클릭합니다. -
이제
로그인
을 클릭합니다.이제 공개 키 인증을 사용하여 SFTP 서버에 액세스할 수 있습니다.
Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.
LinkedIn