FTP significa Protocolo de transferencia de archivos. Ha sido un método estándar para transferir archivos entre computadoras durante décadas.
En esta guía, aprenderemos cómo instalar un servidor SFTP en Rocky Linux 8 usando vsftp para transferir archivos entre el cliente y el servidor de forma rápida y segura a través del protocolo FTP.
Contenido relacionado:
- Cómo configurar un servidor SFTP en Rocky Linux/CentOS 8 Server
Asegúrese de que el servidor esté actualizado
Antes de continuar, asegurémonos de que nuestro servidor tenga paquetes actualizados. Usa este comando:
sudo dnf update -y
Instalar vsftpd
VSFTPD está disponible en los repositorios predeterminados de Rocky Linux. Instálalo usando este comando:
sudo dnf install -y vsftpd
Cuando se le solicite, escriba Y
para permitir que se complete la operación.
Iniciar y habilitar el servicio
El servicio vsftpd no se iniciará de forma predeterminada. Inícielo usando este comando:
sudo systemctl start vsftpd
Confirme que el servicio está en funcionamiento
$ sudo systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2022-02-14 08:32:41 UTC; 7s ago
Process: 72141 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
Main PID: 72142 (vsftpd)
Tasks: 1 (limit: 23168)
Memory: 584.0K
CGroup: /system.slice/vsftpd.service
└─72142 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
Feb 14 08:32:41 rockysrv.citizix.com systemd[1]: Starting Vsftpd ftp daemon...
Feb 14 08:32:41 rockysrv.citizix.com systemd[1]: Started Vsftpd ftp daemon.
Finalmente, habilite el servicio para que se inicie en el arranque:
sudo systemctl enable vsftpd
Habilitar el servicio en firewall
Si tiene firewalld instalado y habilitado, use estos comandos para permitir el servicio ftp:
sudo firewall-cmd --zone=public --permanent --add-port=21/tcp
sudo firewall-cmd --zone=public --permanent --add-service=ftp
sudo firewall-cmd –-reload
Configurar VSFTPD
El archivo de configuración predeterminado de vsftpd se encuentra en el /etc/vsftpd/vsftpd.conf
sendero. Antes de editar el archivo, hagamos una copia de seguridad del archivo para que podamos volver al original si algo no sale como se esperaba.
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bk
A continuación, abra el archivo con su editor de texto favorito. Estoy usando vim:
sudo vim /etc/vsftpd/vsftpd.conf
Primero, configuremos nuestro servidor FTP para deshabilitar usuarios anónimos y permitir usuarios locales.
Busque las siguientes entradas en el archivo de configuración y edítelas para que coincidan con lo siguiente:
anonymous_enable=NO
local_enable=YES
El acceso anónimo es riesgoso; debe evitarlo a menos que comprenda los riesgos.
A continuación, permita que un usuario que haya iniciado sesión cargue archivos en su servidor FTP. Habilitemos el acceso de escritura con este lin:
write_enable=YES
Limite los usuarios de FTP a su propio directorio de inicio. Esto a menudo se llama cárcel o cárcel chroot . Busque y ajuste la entrada para que coincida con lo siguiente:
chroot_local_user=YES
allow_writeable_chroot=YES
El vsftpd La utilidad proporciona una forma de crear una lista de usuarios aprobados. Para administrar usuarios de esta manera, busque el userlist_enable
entrada, luego edite el archivo para que tenga el siguiente aspecto:
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
Ahora puede editar /etc/vsftpd/user_list y agregue su lista de usuarios. (Indique uno por línea). El userlist_deny
opción le permite especificar los usuarios que se incluirán; configurándolo en yes
cambiaría la lista a los usuarios que están bloqueados.
Una vez que haya terminado de editar el archivo de configuración, guarde los cambios. Reinicie vsftpd servicio para aplicar cambios:
sudo systemctl restart vsftpd
Crear un nuevo usuario de FTP
Para crear un nuevo usuario FTP ingrese lo siguiente:
sudo adduser ftpuser0
sudo passwd ftpuser0
El sistema debería solicitarle que ingrese y confirme una contraseña para el nuevo usuario.
Añadir el nuevo usuario a la lista de usuarios :
echo "ftpuser0" | sudo tee –a /etc/vsftpd/user_list
Cree un directorio para el nuevo usuario y ajuste los permisos:
sudo mkdir -p /home/ftpuser0/ftp/upload
sudo chmod 550 /home/ftpuser0/ftp
sudo chmod 750 /home/ftpuser0/ftp/upload
sudo chown -R ftpuser0: /home/ftpuser0/ftp
Esto crea un /home/ftpuser0 directorio para el nuevo usuario, con un directorio especial para cargas. Establece permisos para cargas solo en el directorio /uploads.
Ahora, puede iniciar sesión en su servidor FTP con el usuario que creó:
ftp 10.2.11.9
Reemplace esta dirección IP con la de su sistema. Puede encontrar su dirección IP en Linux con ip addr
comando.
El sistema debería solicitarle un nombre de usuario:ingrese el nombre de usuario que creó anteriormente. Escriba la contraseña y el sistema debería iniciar sesión.
Probando conexión FTP
Para probar el servidor FTP localmente, use el comando:
$ ftp localhost
Trying ::1...
Connected to localhost (::1).
220 (vsFTPd 3.0.3)
Name (localhost:rocky): rocky
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Conclusión
Hemos logrado configurar nuestro propio servidor ftp. Debería poder iniciar sesión en su servidor a través de FTP y comenzar a transferir archivos. Puede usar un cliente FTP como Filezilla para finalmente acceder a su servidor FTP con las diferentes cuentas creadas y comenzar a transferir archivos.