1.软件包安装

sudo apt-get update && sudo apt-get install proftpd proftpd-basic

2.新增sftp配置

root@mew:/etc/proftpd# cat /etc/proftpd/conf.d/sftp.conf
 <IfModule mod_sftp.c>
  SFTPEngine ON
  Port 60001
  SFTPHostKey /etc/ssh/ssh_host_rsa_key
  SFTPHostKey /etc/ssh/ssh_host_ecdsa_key
  SFTPLog /var/log/proftpd/sftp.log
  SFTPCompression delayed
 
  DefaultRoot ~
  RequireValidShell off
  AuthUserFile /etc/proftpd/ftpd.passwd    #不需要手动创建,后面有命令创建
  AuthGroupFile /etc/proftpd/ftpd.group    ##不需要手动创建
  AuthOrder mod_auth_file.c
  SFTPPAMEngine off
  UseReverseDNS off
 </IfModule>

3.开启sftp模块

vi /etc/proftpd/modules.conf
ModulePath /usr/lib/proftpd
LoadModule mod_sftp.c
LoadModule mod_sftp_pam.c

4.proftp主配置文件修改

root@mew:/etc/proftpd# cat /etc/proftpd/proftpd.conf | egrep -v '^#|^$'
Include /etc/proftpd/modules.conf
UseIPv6 on
<IfModule mod_ident.c>
  IdentLookups off
</IfModule>
ServerName "Debian"
ServerType standalone
DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
DisplayLogin welcome.msg
DisplayChdir .message true
ListOptions "-l"
DenyFilter \*.*/
DefaultRoot ~
RequireValidShell off
Port 21
<IfModule mod_dynmasq.c>
</IfModule>
MaxInstances 30
User proftpd
Group nogroup
Umask 022 022
AllowOverwrite on
TransferLog /var/log/proftpd/xferlog
SystemLog /var/log/proftpd/proftpd.log
LogFormat muj-log "%H %h %l %u %t \"%r\" %s %b"
ExtendedLog /var/log/proftpd/extended.log ALL muj-log
<IfModule mod_quotatab.c>
QuotaEngine off
</IfModule>
<IfModule mod_ratio.c>
Ratios off
</IfModule>
<IfModule mod_delay.c>
DelayEngine on
</IfModule>
<IfModule mod_ctrls.c>
ControlsEngine off
ControlsMaxClients 2
ControlsLog /var/log/proftpd/controls.log
ControlsInterval 5
ControlsSocket /var/run/proftpd/proftpd.sock
</IfModule>
<IfModule mod_ctrls_admin.c>
AdminControlsEngine off
AdminControlsACLs all allow user root
</IfModule>
Include /etc/proftpd/conf.d/

5.创建sftp的上传目录

mkdir /data/mew/

6.创建虚拟用户和虚拟用户组

#可以创建1个后续再增加
ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=adminftp --uid=2002 \
    --home=/data/mew --shell=/sbin/nologin
 
ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=mew --uid=2002 \
    --home=/data/mew --shell=/sbin/nologin
 
#用户组加入2个用户
ftpasswd --group --name=admin --file=/etc/proftpd/ftpd.group --gid=2002 --member mew,adminftp

由于文件中的密码是以加密形式存储的,因此您可以按如下方式更改用户的密码:
$ ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=test --change-password

7.赋予sftp目录虚拟用户、组权限

cd /data/ && chown 2002.2002 mew/ -R

8.linux使用如下命令上传下载测试

sftp -oPort=60001 adminftp@192.168.139.145

9.windows用户自行找sftp工具。