Configurando SFTP em minutos no Linux


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