安装

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 检查是否安装openssh-server,未安装需安装好
rpm -aq openssh-server
# yum install openssh-server -y

# 配置 SSHD 服务
vim /etc/ssh/sshd_config

# 注释掉以下行(如果存在):
Subsystem sftp /usr/libexec/openssh/sftp-server

# 在文件末尾添加以下行:
Subsystem sftp internal-sftp
Match Group sftpusers
       ChrootDirectory /data/sftp/%u
       ForceCommand internal-sftp
       X11Forwarding no
       AllowTcpForwarding no

# 创建 SFTP 用户组:
groupadd sftpusers

# 创建 SFTP 用户
useradd -g sftpusers -M -s /sbin/nologin example
passwd example
#T2Sdp^qjyi0zKypvtK6I
# 创建/data/sftp/example/目录并设置主目录权限
mkdir -p /data/sftp/example
chown root:sftpusers /data/sftp/example  ##文件夹所有者必须为root,用户组可以不是root
chmod 755 /data/sftp/example  ##权限不能超过755,否则会导致登录报错,可以是755

# 创建用户主目录
mkdir -p /data/sftp/example/upload
chown example:sftpusers /data/sftp/example/upload

mkdir -p /data/sftp/example/archive
chown example:sftpusers /data/sftp/example/archive
# 重启服务
systemctl restart sshd.service

# 测试
sftp -oPort=22 example@192.168.100.85

docker 安装

1
2
3
4
5
6
7
docker volume create --driver local sftp-data

docker run -d --name sftp \
-p 2222:22 \
-v sftp-data:/home/test/upload \
atmoz/sftp:latest \
test:password:1001