Como configurar um servidor FTP e um usuário de FTP em uma instância do Lightsail?

4 minuto de leitura
0

Quero configurar um servidor de protocolo de transferência de arquivos (FTP) e um usuário de FTP em uma instância do Amazon Lightsail que executa o Amazon Linux 2, CentOS, Ubuntu ou Debian.

Resolução

Observação: o FTP transmite todos os dados e senhas como texto simples. O protocolo de transferência de arquivos SSH (SFTP) é uma forma mais segura de se conectar a uma instância e transmitir dados. Para obter informações sobre o uso do SFTP, consulte Connecting to your Linux or Unix instance in Amazon Lightsail using SFTP.

Configure um servidor FTP e um usuário de FTP

1.    Execute o comando a seguir para instalar o pacote VSFTPD:

Amazon Linux 2 e CentOS:

sudo yum install vsftpd -y

Ubuntu e Debian:

sudo apt install vsftpd -y

Se você receber um erro informando que o pacote não está disponível, execute o seguinte comando para atualizar as listas de pacotes:

sudo apt update -y

2.    Edite o arquivo vsftpd.config para atualizar as variáveis do seu ambiente.

A localização do arquivo vsftpd.config varia de acordo com seu sistema operacional:

  • Amazon Linux 2 e CentOS: /etc/vsftpd/vsftpd.conf
  • Debian e Ubuntu: /etc/vsftpd.conf

No exemplo a seguir, atualize as variáveis de acordo com seu caso de uso. Os parâmetros a seguir são comuns a todos os sistemas operacionais.

anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=NO
xferlog_std_format=YES
chroot_local_user=YES
allow_writeable_chroot=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
listen_port=10021
pasv_enable=YES
pasv_min_port=21000
pasv_max_port=21999
pasv_addr_resolve=NO

Observação: a porta 21 é a porta padrão para FTP. No entanto, por motivos de segurança, a porta personalizada 10021 é usada como porta para FTP no exemplo anterior. Para personalizar a porta, altere listen_port para a porta que você deseja e defina connect_from_port_20 como NÃO. Certifique-se de ativar as portas que você planeja usar para FTP no firewall da sua instância. No exemplo anterior, as portas 10021 e 21000-21999 estão ativadas no firewall personalizado e do Lightsail. Além disso, os parâmetros listen e listen_ipv6 não podem estar no arquivo ao mesmo tempo. Atualize seu arquivo de configuração para que somente um esteja definido como SIM.

Os parâmetros a seguir são específicos para cada sistema operacional. Além do exemplo anterior, edite as variáveis a seguir para seu sistema operacional.

Amazon Linux 2 e CentOS

chroot_list_file=/etc/vsftpd/chroot_listuserlist_file=/etc/vsftpd/user_list

Debian e Ubuntu:

chroot_list_file=/etc/vsftpd.chroot_listuserlist_file=/etc/vsftpd.userlist

3.    Execute o comando a seguir para adicionar o usuário de FTP:

sudo useradd -m ftp_user

Observação: no exemplo anterior, substitua ftp_user por um nome de usuário de sua escolha.

4.    Execute o comando a seguir para criar uma senha para o usuário:

sudo passwd ftp_user

5.    Execute o comando a seguir para alterar a propriedade do arquivo /home/ftp_user. Esse comando torna ftp_user o proprietário do arquivo.

sudo chown ftp_user:ftp_user -R /home/ftp_user/

6.    Execute o comando a seguir para adicionar o novo usuário em vsftpd user_list. Use a sinalização**-a** para anexar ao arquivo.

Amazon Linux 2 e CentOS

sudo echo "ftp_user" | sudo tee -a /etc/vsftpd/user_list

Debian e Ubuntu

Execute o comando a seguir para criar o arquivo userlist e adicionar o novo usuário ao arquivo:

sudo echo "ftp_user" | sudo tee -a /etc/vsftpd.userlist

7.    Reinicie o serviço vsftpd:

sudo systemctl restart vsftpd

8.    Conecte-se ao servidor FTP. O exemplo a seguir usa o FTP simples do Filezilla.

Status:    Connecting to 54.xxx.xxx.x2:10021...
Status:    Connection established, waiting for welcome message...
Status:    Plain FTP is insecure. Please switch to FTP over TLS.
Status:    Logged in
Status:    Retrieving directory listing...
Status:    Server sent passive reply with unroutable address. Using server address instead.
Status:    Calculating timezone offset of server...
Status:    Timezone offset of server is 0 seconds.
Status:    Directory listing of "/" successful
Status:    Connecting to 54.xxx.1xx.52:10021...
Status:    Connection established, waiting for welcome message...
Status:    Plain FTP is insecure. Please switch to FTP over TLS.
Status:    Logged in
Status:    Starting upload of C:\Users\Administrator\Documents\FTPtest.txt
Status:    Server sent passive reply with unroutable address. Using server address instead.
Status:    File transfer successful, transferred 10 bytes in 1 second
Status:    Retrieving directory listing of "/"...
Status:    Server sent passive reply with unroutable address. Using server address instead.
Status:    Directory listing of "/" successful

Solução de problemas na configuração de um servidor FTP

Se os parâmetros do arquivo de configuração vsftpd.conf não estiverem definidos corretamente, o servidor FTP pode não iniciar. Nesse caso, execute o comando a seguir para determinar as opções que não estão configuradas corretamente:

Amazon Linux 2 e CentOS

sudo /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

Debian e Ubuntu

sudo /usr/sbin/vsftpd /etc/vsftpd.conf
AWS OFICIAL
AWS OFICIALAtualizada há um ano