Windows에서 SFTP 서버 설정
sftp-server
는 OpenSSH에서 제공하는 유틸리티 프로그램 중 하나이므로 이 기사에서는 OpenSSH를 사용하여 Windows에서 SFTP 서버를 설정하는 방법을 안내합니다. 원래 OpenSSH는 Linux에서만 사용할 수 있었지만 Microsoft에서 Windows로 포팅했기 때문에 이제 here에서 zip 파일을 다운로드하여 OpenSSH를 사용할 수 있습니다.OpenSSH의 zip 파일을 다운로드하면 PowerShell을 사용하여 설정을 완료할 수 있습니다. 다음 명령을 실행하기 전에 관리자 권한으로 PowerShell을 열어야 합니다.
먼저 파일의 압축을 풀어야 합니다. Windows용 OpenSSH를 다운로드했으면 다음 명령을 실행하여 압축을 풀 수 있습니다.
Expand-Archive -Path <String> `
-DestinationPath 'C:\Program Files'
sshd 설치:
powershell.exe -ExecutionPolicy Bypass `
-File 'C:\Program Files\OpenSSH-Win32\install-sshd.ps1'
새 SFTP 서버는 외부 요청을 수락해야 하므로 인바운드 연결을 허용하는 포트를 사용해야 합니다. 방화벽 규칙을 만들어야 합니다.
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' `
-Enabled True -Direction Inbound `
-Protocol TCP -Action Allow -LocalPort [port number]
모든 것이 준비되면 sshd를 시작할 수 있습니다.
Start-Service sshd
서버가 가동될 때마다 SFTP 서버가 시작되도록 하려면 다음 명령을 실행하십시오.
Set-Service -Name sshd -StartupType 'Automatic'
지금까지 SFTP 서버는 기본적으로 사용할 준비가 되었습니다. 그러나 사용하기 전에 일부 구성을 수행해야 할 수도 있습니다.
sshd_config
에 %programdata%\ssh
라는 파일이 있으며 필요에 맞게 수정할 수 있습니다. 예를 들어 서버의 포트 번호를 변경하려면 다음과 같이 포트 번호가 있는 행의 주석을 제거하고 원하는 것으로 변경할 수 있습니다.Port [port number]
루트 디렉토리를 변경하려면 루트 디렉토리 행의 주석을 제거하고 경로를 변경할 수 있습니다.
ChrootDirectory [path]
SFTP만 허용하려면 구성 파일에 다음 줄을 추가하면 됩니다.
ForceCommand internal-sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
SFTP 서버가 필요하지 않은 경우 제거할 수 있습니다.
powershell.exe -ExecutionPolicy Bypass -File `
'C:\Program Files\OpenSSH-Win32\uninstall-sshd.ps1'
문제 해결을 위해 아래 명령을 실행하여 최근 로그를 볼 수 있습니다.
Get-WinEvent -LogName OpenSSH/Operational `
| Where-Object {$_.TimeCreated -ge (Get-Date).AddDays(-1)}
여전히 설정이 너무 어렵고 무거운 작업을 하고 싶지 않다면 시장에서 유료 도구를 사용할 수 있습니다. 그들은 더 멋진 그래픽 사용자 인터페이스로 동일한 작업을 수행할 수 있어야 합니다.
(보너스) SFTP 서버에 연결하기 위한 클라이언트 측 설정
자신의 개인 키와 공개 키를 생성하십시오.
ssh-keygen -t ed25519 -C "{description}"
기본적으로 개인 키(
id_ed25519
)와 공개 키( id_ed25519.pub
)는 모두 %USERPROFILE%\.ssh\
아래에 저장됩니다.새로 생성된 비공개를 ssh-agent에 추가합니다.
Start-Service ssh-agent
ssh-add $env:userprofile\.ssh\id_ed25519
디렉터리
authorized_keys
에 %USERPROFILE%\.ssh\
라는 파일을 생성하여 서버 측에서 SSH 공개 키를 설정하고 파일에 공개 키를 추가합니다.SFTP 서버에 연결:
sftp -P [port number] [server name]
결론
OpenSSH는 대부분의 플랫폼에서 사용할 수 있으므로 설정은 서로 다른 플랫폼에서 거의 동일해야 합니다. 그러나 가장 까다로운 부분은 일부 구성이 모든 플랫폼에서 사용 가능하지 않을 수 있으므로 문제가 발생하면 설명서를 확인해야 한다는 것입니다.
참조
Win32-OpenSSH Wiki
Reference
이 문제에 관하여(Windows에서 SFTP 서버 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/martincheng0/set-up-an-sftp-server-on-windows-4ld1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)