O Ubuntu é uma pla­ta­forma segura e confiável para con­fi­gu­rar um servidor SFTP. Essa dis­tri­bui­ção do Linux tem fer­ra­men­tas e pacotes in­te­gra­dos que você pode usar para SFTP. Em nosso guia passo a passo, ex­pli­ca­re­mos como você pode instalar e con­fi­gu­rar um servidor SFTP do Ubuntu para enviar dados com segurança.

Re­qui­si­tos de sistema do servidor Ubuntu SFTP

Ao comparar FTP vs. SFTP, o SFTP é uma opção muito melhor. Baseado no FTP, o SFTP usa processos crip­to­grá­fi­cos para crip­to­gra­far os dados. Isso também significa que você precisa de com­po­nen­tes adi­ci­o­nais, como Secure Shell (SSH) para instalá-lo. Para instalar um servidor SFTP na versão atual 22.04 do Ubuntu, seu sistema deve atender aos seguintes re­qui­si­tos mínimos:

  • Pro­ces­sa­dor (CPU): 2 GHz (Dual core)
  • Memória (RAM): 4 GB
  • Disco rígido: depende do tamanho dos dados
  • Sistema ope­ra­ci­o­nal: Ubuntu, usuários com direitos de root
  • Pacote de software: OpenSSH
  • Conexão com a Internet para fazer download de pacotes e conectar-se ao servidor SFTP
Dica

Com um secure FTP server da IONOS, você terá acesso à hos­pe­da­gem segura de arquivos, incluindo backups regulares e suporte 24 horas por dia, 7 dias por semana.

Guia passo a passo para instalar um servidor SFTP Ubuntu

Para con­fi­gu­rar um servidor FTP que ofereça suporte a SFTP, você deve primeiro verificar se o OpenSSH está instalado. Os pacotes ge­ral­mente são incluídos como padrão no Ubuntu. Se esse não for o caso, você poderá obter os pacotes do re­po­si­tó­rio oficial.

Abra o terminal em seu sistema Ubuntu e execute os seguintes comandos listados aqui:

Etapa 1: verificar o pacote OpenSSH

Use o seguinte para vi­su­a­li­zar todos os pacotes ins­ta­la­dos e filtrar por ssh:

$ dpkg -l | grep ssh
bash

Em nosso exemplo, isso dará o seguinte resultado:

Imagem: Terminal: Pacote OpenSSH instalado
Terminal: Pacote OpenSSH instalado

Se você vir ii , isso significa que o pacote está instalado.

Etapa 2: Instalar o SSH

Se o OpenSSH estiver dis­po­ní­vel, você poderá instalá-lo usando APT:

$ sudo apt install ssh
bash

Etapa 3: Alterar a con­fi­gu­ra­ção do SSHD

Depois de instalado, você pode editar o arquivo de con­fi­gu­ra­ção do daemon SSH. Você pode abri-lo usando o editor Nano, por exemplo:

$ sudo nano /etc/ssh/sshd_config
bash

Em seguida, digite o seguinte:

Match Group sftpgroup
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
bash

Isso permitirá que os usuários do grupo SFTP acessem seu diretório pessoal via SFTP.

Etapa 4: reinicie o serviço SSH

Depois de fazer as al­te­ra­ções no arquivo de con­fi­gu­ra­ção, você precisa reiniciar o serviço SSH:

$ sudo systemctl restart sshd
bash

Etapa 5: criar usuários e grupos SFTP

A próxima etapa é criar um novo grupo sftpgroup e um novo usuário sftpuser, que, por motivos de segurança, só pode acessar o servidor SFTP do Ubuntu e não o serviço SSH.

$ sudo groupadd sftpgroup
bash

O novo usuário é adi­ci­o­nado ao grupo SFTP com a opção -G. -d define o diretório inicial e-s define as regras de acesso ao shell.

$ sudo useradd -G sftpgroup -d /srv/sftpuser -s /sbin/nologin sftpuser
bash

Etapa 6: criar a senha do usuário SFTP

Digite uma senha segura para o usuário SFTP com o comando passwd:

$ passwd sftpuser
bash

Etapa 7: con­fi­gu­rar o Chroot

Ao criar o diretório Chroot, você cria uma área restrita para os processos em execução no momento. Em primeiro lugar, você precisa con­fi­gu­rar uma nova pasta:

$ mkdir -p /srv/sftpuser
bash

Em seguida, defina a pro­pri­e­dade usando chown no usuário root:

$ sudo chown root /srv/sftpuser
bash

Adicione direitos de grupo de leitura e execução:

$ sudo chmod g+rx /srv/sftpuser
bash

Em seguida, você pode definir um sub­di­re­tó­rio e definir alguns sftpuser como pro­pri­e­tá­rios:

$ mkdir -p /srv/sftpuser/data
$ chown sftpuser:sftpuser /srv/sftpuser/data
bash

Ao fazer isso, os usuários de SFTP podem fazer upload de arquivos para o sub­di­re­tó­rio “data”, no entanto, eles só terão direitos limitados no diretório sftpuser. Lá, eles têm apenas direitos de leitura, mas, por motivos de segurança, não têm direitos de gravação.

Etapa 8: conectar-se ao servidor SFTP do Ubuntu

Você pode criar uma conexão com o servidor SFTP por meio da barra de comando SFTP ou por meio de um cliente FTP com GUI. Digite o comando sftp, seguido do nome do usuário e do host ou do endereço IP do servidor SFTP.

$ sftp sftpuser@SERVER-IP
bash

Se estiver usando uma porta definida pelo usuário, é possível es­pe­ci­ficá-la da seguinte forma:

$ sftp -P PORT ftpuser@SERVER-IP
bash

Em seguida, será so­li­ci­tado que você digite a senha do usuário SFTP.

Etapa 9: Fazer upload de arquivos para o servidor SFTP

Você pode fazer upload de arquivos para o servidor SFTP com o comando put.

Tente trans­fe­rir um arquivo para a pasta /:

put /path/to/file/on/local /
bash

O comando falhará porque o usuário SFTP não tem direitos de gravação nesse diretório chroot.

Agora, tente fazer isso com a pasta data:

put /path/to/file1/on/local1 /data/
bash

Etapa 10: Exibir os arquivos no servidor SFTP do Ubuntu

Você pode listar os arquivos no servidor SFTP do Ubuntu com o comando ls:

ls /data/
bash

A partir daí, você pode ver quais arquivos estão no servidor SFTP:

Imagem: Terminal: File list on the SFTP server
Terminal: Lista de arquivos no servidor SFTP
Dica
Ir para o menu principal