# Como instalar um servidor SFTP do Ubuntu

O Ubuntu é uma plataforma segura e confiável para configurar um servidor SFTP. Essa distribuição do Linux tem ferramentas e pacotes integrados que você pode usar para [SFTP](https://www.ionos.com/pt-br/digitalguide/servidor/conhecimento/sftp-ssh-file-transfer-protocol/ "SFTP (Protocolo de transferência de arquivos SSH)"). Em nosso guia passo a passo, explicaremos como você pode instalar e configurar um servidor SFTP do Ubuntu para enviar dados com segurança.

## Requisitos 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 criptográficos para criptografar os dados. Isso também significa que você precisa de componentes adicionais, como [Secure Shell (SSH)](https://www.ionos.com/pt-br/digitalguide/servidor/ferramentas/o-que-e-ssh-protocolo-ssh/ "SSH: Secure Shell") para instalá-lo. Para instalar um servidor SFTP na versão atual 22.04 do Ubuntu, seu sistema deve atender aos seguintes requisitos mínimos:

- **Processador (CPU)**: 2 GHz (Dual core)
- **Memória (RAM)**: 4 GB
- **Disco rígido**: depende do tamanho dos dados
- **Sistema operacional**: 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](https://www.ionos.com/hosting/ftp-hosting "Secure FTP server hosting from IONOS") da IONOS, você terá acesso à hospedagem 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 configurar um servidor FTP que ofereça suporte a SFTP, você deve primeiro verificar se o OpenSSH está instalado. Os pacotes geralmente são incluídos como padrão no Ubuntu. Se esse não for o caso, você poderá obter os pacotes do repositó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 visualizar todos os pacotes instalados e filtrar por `ssh`:

```bash
$ dpkg -l | grep ssh
```

Em nosso exemplo, isso dará o seguinte resultado:

[![Imagem: Terminal: Pacote OpenSSH instalado](https://www.ionos.com/pt-br/digitalguide/fileadmin/_processed_/3/1/csm_ubuntu-sftp-server-openssh-packets_8a708f0b96.webp "Terminal: Pacote OpenSSH instalado")](https://www.ionos.com/pt-br/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/ubuntu-sftp-server-openssh-packets.png) Terminal: Pacote OpenSSH instalado Se você vir `ii` , isso significa que o pacote está instalado.

### Etapa 2: Instalar o SSH

Se o OpenSSH estiver disponível, você poderá instalá-lo usando **APT**:

```bash
$ sudo apt install ssh
```

### Etapa 3: Alterar a configuração do SSHD

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

```bash
$ sudo nano /etc/ssh/sshd_config
```

Em seguida, digite o seguinte:

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

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 alterações no arquivo de configuração, você precisa reiniciar o serviço SSH:

```bash
$ sudo systemctl restart sshd
```

### 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.

```bash
$ sudo groupadd sftpgroup
```

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

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

### Etapa 6: criar a senha do usuário SFTP

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

```bash
$ passwd sftpuser
```

### Etapa 7: configurar 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 configurar uma nova pasta:

```bash
$ mkdir -p /srv/sftpuser
```

Em seguida, defina a propriedade usando `chown` no usuário root:

```bash
$ sudo chown root /srv/sftpuser
```

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

```bash
$ sudo chmod g+rx /srv/sftpuser
```

Em seguida, você pode definir um subdiretório e definir alguns `sftpuser` como proprietários:

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

Ao fazer isso, os usuários de SFTP podem fazer upload de arquivos para o subdiretó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.

```bash
$ sftp sftpuser@SERVER-IP
```

Se estiver usando uma porta definida pelo usuário, é possível especificá-la da seguinte forma:

```bash
$ sftp -P PORT ftpuser@SERVER-IP
```

Em seguida, será solicitado 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 transferir um arquivo para a pasta `/`:

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

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`:

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

### Etapa 10: Exibir os arquivos no servidor SFTP do Ubuntu

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

```bash
ls /data/
```

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

[![Imagem: Terminal: File list on the SFTP server](https://www.ionos.com/pt-br/digitalguide/fileadmin/_processed_/a/8/csm_ubuntu-sftp-server-file-list_c2cbba90f3.webp "Terminal: File list on the SFTP server")](https://www.ionos.com/pt-br/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/ubuntu-sftp-server-file-list.png) Terminal: Lista de arquivos no servidor SFTP  Dica Leia nosso guia sobre como configurar um servidor SFTP do Windows.


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/configurar-um-servidor-sftp-do-ubuntu/](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/configurar-um-servidor-sftp-do-ubuntu/) for AI/LLM consumption.