07.06.2023

Cómo configurar el acceso FTP en CentOS 8

Un servidor FTP es útil para administrar sitios web y compartir archivos. En este tutorial, configuraremos el acceso FTP en CentOS 8 usando vsftpd.

Instalación y configuración del servidor FTP

Instalemos el paquete vsftpd.

dnf instalar vsftpd

Ahora inicie el servicio.

systemctl iniciar vsftpd

Y agréguelo a la ejecución automática.

systemctl habilitar vsftpd

Abra la /etc/vsftpd/vsftpd.conf archivo.
Mira estos parametros para asegurarse de que tienen los valores correctos. Actualmente prohibimos el inicio de sesión anónimo y lo permitimos para usuarios locales. También se permite la grabación FTP.

anónimo_habilitar=NO
local_enable = SÍ
write_enable = YES

Busque y descomente esta línea para restringir el acceso a todo excepto al directorio de inicio.

chroot_local_user = SÍ

Y agregue esta línea al final del archivo para otorgar acceso para cambiar y escribir archivos a través de FTP.

allow_writeable_chroot=SÍ

Ahora guarde y cierre el archivo y abra /etc/pam.d/vsftpd. Comenta esta línea en él:

#auth requiere pam_shells.so

Si utiliza firewalld agréguele el servicio FTP.

firewall-cmd --permanente --add-service=ftp
firewall-cmd --recargar

Reinicie el servicio FTP.

systemctl reiniciar vsftpd

Creación de un usuario para acceso FTP

Cree un nuevo usuario y establezca la contraseña para él.

usuarioañadir newftpuser
contraseña newftpuser

Para evitar que inicie sesión a través de ssh, cambia su caparazón.

usermod --shell /sbin/nologin nuevoftpuser

Uso de SSL/TLS para FTP seguro

Puede usar SSL/TLS para cifrar su conexión. Para ello, puede utilizar Let's Encrypt o un certificado SSL autofirmado.
En el /etc/vsftpd/vsftpd.conf archivo agregue las rutas a las claves y habilite ssl_habilitar .

rsa_cert_file=/etc/letsencrypt/live/nombre_dominio/fullchain.pem
rsa_private_key_file=/etc/letsencrypt/live/nombre_dominio/privkey.pem
ssl_enable=SÍ

Y reiniciar el servicio.

systemctl reiniciar vsftpd