網頁

2021年3月9日 星期二

SFTP 安裝@ Windows

步驟 

@windows

應用程式內新增 OpenSSH伺服器

@powershell

Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'

Get-NetFirewallRule -Name *ssh* //檢視規則

New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 //調整規則

調整 ssh_config 檔案 (%programdata%\ssh) & restart sshd

Port 22
ForceCommand internal-sftp //強制僅使用 sftp connections
Subsystem    sftp    sftp-server.exe -d "C:\Data_SFTP\"
ChrootDirectory C:\Data_SFTP //指定連線到特定目錄

AllowUsers sftpuser //加強管理
AllowGroups sshusers //加強管理

Logging //Windows OpenSSH 預設會記錄在事件檢視器。若要調整為記錄於檔案內需做以下調整。

SyslogFacility AUTH | LOCAL0 //AUTH 記錄在事件檢視器;LOCAL0 記錄在檔案
LogLevel INFO | VERBOSE | Debug3  (視需求)

//針對特定的 group 限制(系統內新增 sftponly group,並設定指定受限帳號)
Match Group sftponly
       ChrootDirectory C:\Apache2\htdocs
       ForceCommand internal-sftp
       X11Forwarding no
       AllowTcpForwarding no
 
//針對指定帳號登到指定目錄
Match User sftp_user
       ChrootDirectory C:\Apache2\htdocs\sftp_user
       ForceCommand internal-sftp
       X11Forwarding no
       AllowTcpForwarding no


參考資料