Configurando SFTP em minutos no Linux
o SSH File Transfer Protocol ou SFTP é um protocolo de transferência de arquivos e de manipulação funcional. É tipicamente utilizado com o protocolo de segurança SSH-2.
Seu propósito é semelhante ao do FTP convencional, porém em função do uso de criptografia nas conexões (através do estabelecimento de um túnel SSH) o tráfego de informações possui um incremento de segurança efetivo. Foi desenvolvido pela Internet Engineering Task Force (IETF).[1]
Fonte: Wikipedia
Instale o serviço SSH caso não esteja instalado:
sudo apt install openssh-server
Criei o grupo sftp:
sudo addgroup sftp
Agora, criei o usuário sftp e adicione o mesmo o grupo sftp criado anteriormente:
sudo useradd -m sftp -g sftp
Ajuste a permissão no diretório do usuário, para que somente ele consiga acessar:
chmod 700 /home/sftp
Caso queira trocar a senha do usuário:
passwd sftp
Edite o arquivo de configuração
vim /etc/ssh/sshd_config
Comente a linha:
# override default of no subsystems
Subsystem sftp /usr/lib/openssh/sftp-server
E no lugar altere para:
Subsystem sftp internal-sftp
Adicione no fim do arquivo:
Match group sftp
ChrootDirectory /home
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Reinicie o serviço do SSH:
systemctl restart ssh