Intro
Server使用工具:OpenSSH
設定SFTP服務主要會限制User僅限使用SFTP以及路徑限制。
安裝與設定
- 設定
/etc/ssh/sshd_config:
# 開啟internal-sftp Subsystem,將會限制僅使用SFTP而非SSH (反註解原本設定)
Subsystem sftp internal-sftp
在設定Match條件,可以使用group為條件:
Match group sftp_only
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
設定完成並重啟服務後,新增user至指定group(範例為sftp_only),並將ChrootDirectory(範例為/home/%u)目錄所有者設定為root,即能使user登入SFTP
應用上,可另外加設定Match條件,
ChrootDirectory也可以設定固定為如/srv,使用者即不需要家目錄
進階
使用者與群組指令
# 新增群組
groupadd sftp_only
# 新增使用者,如為固定ChrootDirectory則可不設家目錄-m
useradd -s /bin/false -G sftp_only username -m
config Match block問題
重啟時若錯誤:Directive 'UseDNS' is not allowed within a Match block,則為Match Block阻擋問題,可以放置文檔最下方。
讚!! 感謝