Linux 限制使用者只允許SFTP
運行環境
- Debian 12
建立使用者
useradd -M testuser -s /usr/sbin/nologin
-M 不建立家目錄
testuser 使用者
-s /usr/sbin/nologin 指定不登入bash
passwd testuser
建立資料夾
假如路徑為/ftp/test,使用者限制在test資料夾
mkdir /ftp
cd /ftp
mkdir test
test資料夾權限改為使用者,上層所有皆為root
chown testuser:testuser test
設定SSHD
編輯/etc/ssh/sshd_config
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
Match User testuser
ChrootDirectory /ftp
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
service ssh restart
測試
SFTP可正常登入
root@ssh:~# sftp testuser@10.0.0.200
testuser@10.0.0.200's password:
Connected to 10.0.0.200.
sftp> ls
test
sftp>
SSH登入被限制
root@ssh:~# ssh testuser@10.0.0.200
testuser@10.0.0.200's password:
This service allows sftp connections only.
Connection to 10.0.0.200 closed.
No comments to display
No comments to display