Especialista Linux

Criando um servidor SFTP no linux

O SFTP é um excelente método para a transferência de arquivos remotos no linux. Neste tutorial, vamos aprender a configurar este sistema seguro de compartilhamento de arquivos e conhecer sua diferença ao tradicional FTP.

FTP ou SFTP

FTP ou File Transfer Protocol é um sistema de transferência de arquivos, muito conhecido. Porém, se você procura um pouco mais de segurança, recomendo que utilize o SFTP.

SFTP é a sigla para Secure Transfer Protocol ou seja, protocolo de transferência segura. Isso é possível por que o SFTP utiliza criptografia na sua transferência de arquivos, usando um método de tecnologia de impressão digital, para verificar as chaves dos hosts liberados antes de iniciar a transferência.

Além disto, você precisará liberar em seu firewall apenas a porta 22, enquanto, o FTP precisa abrir vários canais para que a comunicação ocorra.

O passo a passo

Vamos realizar esta configuração em algumas etapas:

  • Criar um grupo novo
  • Criar um usuário novo e adicioná-lo a este grupo
  • Instalar o SSH
  • Configurar o arquivo de configuração do SSH (sshd_config)
  • Especificar um diretório a ser compartilhado
  • Acessar o sftp

Criando o novo grupo

Vamos criar um grupo novo chamado de sftpusers:

groupadd sftpusers

Agora, vamos criar o nosso usuário e adicioná-lo a este grupo:

useradd -g sftpusers -d /compartilhar -s /sbin/nologin guestuser 

Vamos atribuir uma senha para este usuário:

passwd guestuser

Instale o SSH:

sudo apt-get install openssh-server

Edite o arquivo de configuração /etc/sshd_config comentando a linha Subsystem e adicionando outra :

#Subsystem      sftp    /usr/libexec/openssh/sftp-server
Subsystem       sftp    internal-sftp

No final do arquivo adicione:

Match Group sftpusers
        ChrootDirectory /sftp/%u
        ForceCommand internal-sftp

Estamos especificando que os usuários do grupo sftpusers, vão acessar seus respectivos diretórios.

Crie o diretório

Vamos criar o diretório para o compartilhamento (raiz):

mkdir /compartilhar

Vamos criar o diretório do nosso usuário guestuser:

mkdir /compartilhar/guestuser

Agora, vamos criar um diretório para os usuários enviarem os arquivos:

mkdir /compartilhar/guestuser/publico

Adicionando as permissões

Vamos adicionar o dono e o grupo para o diretório criado:

chown guestuser:sftpusers /compartilhar/guestuser/publico

Reinicie o serviço

service sshd restart

Testando a conexão

Faça um teste na sua própria máquina:

# sftp guestuser@127.0.0.1

Você deve fornecer sua senha de acesso.

Conclusão

Criar um servidor para compartilhar arquivos através do SFTP é uma solução rápida e segura. Sempre que possível, escolha esta opção ao FTP.

E ai, curtiu?

Se você gostou deste conteúdo, deseja reportar algum erro, por favor, deixe o seu comentário. Sua opinião é muito valiosa e faz o nosso projeto crescer cada vez mais.

Estou no Telegram

Agora tenho um grupo no telegram, para um bate papo mais direto sobre linux, aplicativos, servidores e certificações.

https://t.me/profjulianotux