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阻擋問題,可以放置文檔最下方。
讚!! 感謝