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\sshsshd_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