[SFTP] Linux SFTP Server Guide – 建置SFTP服務

Intro

Server使用工具:OpenSSH

設定SFTP服務主要會限制User僅限使用SFTP以及路徑限制。


安裝與設定

  1. 設定/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(範例為sftponly),並將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阻擋問題,可以放置文檔最下方。

OpenSSH: How to end a match block

One thought on “[SFTP] Linux SFTP Server Guide – 建置SFTP服務

Leave a Reply

Your email address will not be published. Required fields are marked *