Ver destacados

Cómo instalar servidor FTP en Linux CentOS7

Con este tutorial aprenderás a instalar un servidor FTP, servidor SSH y configurando de forma detallada en sistemas Linux (CentOS 7).
Escrito por
41.2K Visitas  |  Publicado oct 26 2016 14:19
Favorito
Compartir
Comparte esta pagina a tus Amigos y Contactos usando las siguientes Redes Sociales


 

Una de las principales y más interesantes formas que tenemos como administradores de entornos de sistemas es usar el protocolo FTP (File Transfer Protocol o Protocolo de Transferencia de Archivos) para las diversas tareas que implican el compartir archivos entre diversos usuarios y equipos. Sabemos que, aunque FTP es un protocolo antiguo, sigue siendo uno de los más usados gracias a sus diversas ventajas:

 

Ventajas de FTP
  • Permite transferir diversos archivos entre Sistemas Operativos
  • Es posible reanudar la descarga
  • Podemos usar alguna aplicación para la transferencia de cargas masivas
  • Es seguro
  • Contamos con buenas tasas de velocidad

 

Como vemos el usar el protocolo FTP nos brinda la posibilidad de tener a mano una herramienta muy práctica para el tema de trasferencias. En este tutorial veremos cómo podemos montar un servidor FTP en CentOS 7.

 

 

1. Instalar y configurar archivo vsftpd


Paso 1

En primer lugar, debemos actualizar el sistema para comprobar si hay nuevas mejoras a los paquetes que tenemos instalados y para ello usaremos el siguiente comando:
sudo yum check-update

 

Nota
Recordemos que si hemos iniciado sesión como usuarios root no debemos anteponer el sudo. En base a las actualizaciones disponibles seleccionamos la que necesitemos.

 

Paso 2

Sabemos que vsftpd es un servicio que trae por defecto el sistema operativo CentOS 7 y es el que nos da la posibilidad de gestionar todo lo relacionado con el protocolo FTP. Dentro de las principales características que tenemos al usar vsftpd tenemos:

 

Características vsftpd
  • Conectividad IPv6
  • Usuarios virtuales
  • Configuraciones IP virtuales
  • Posibilidad de encriptación al usar el protocolo SSH para las conexiones
  • Gran ancho de banda, entre otras.

 

Paso 3

Para instalar vsftpd en CentOS 7 usaremos el siguiente comando:
sudo yum -y install vsftpd

 

Paso 4

Una vez hayamos instalado vsftpd de manera correcta todos los parámetros de configuración del servicio estarán alojados en la siguiente ruta.
/etc/vsftpd/vsftpd.conf
Nota
Recomendamos que antes de abrir el archivo y realizar los cambios en el archivo de vsftpd debemos crear una copia de seguridad en caso que algo anormal ocurra.

 

Paso 5

Para ello usaremos el siguiente comando:
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.org
Paso 6

A continuación, accederemos al archivo de configuración usando el editor nano, para ello ingresamos esta línea y veremos lo siguiente.
sudo nano /etc/vsftpd/vsftpd.conf

 

Paso 7

El primer cambio a realizar es deshabilitar el acceso al usuario anónimo para incrementar la seguridad de nuestro servidor, para ello vamos a la línea 12 llamada
anonymous_enable=YES
y la estableceremos como
anonymous_enable=NO
Paso 8

A continuación, quitamos el comentario (Símbolo #) a la línea 100 la cual se llama chroot_local_user=YES para restringir el acceso al directorio home.

 

Finalmente vamos al final del archivo y debemos añadir las siguientes líneas que nos permitirán habilitar el modo pasivo y permitir que el chroot sea escribible.

allow_writeable_chroot=YES
pasv_enable=Yes
pasv_min_port=40000
pasv_max_port=40100

 

Paso 9

Guardamos los cambios usando la combinación de teclas

 

 

Ctrl + O

 

 

y salimos del editor usando

 

 

Ctrl + X

 

 

 

2. Reiniciar archivo vsftpd en Linux

 

Paso 1

Cada vez que se realice alguna modificación en el archivo de configuración debemos reiniciar el servicio para que los cambios sean aplicados, para ello usaremos el siguiente comando:
systemctl restart vsftpd.service
Paso 2

Y el siguiente comando nos permitirá iniciar de manera automática vsftpd después del reinicio:
systemctl enable vsftpd.service

 

 

3. Permitir acceso del servicio de FTP en el Firewall en CentOS 7


El siguiente paso consiste en permitir que el Firewall habilite el acceso vía FTP y para ello debemos autorizar los puertos por los cuales se realizará la comunicación.

 

Paso 1

Para ello ingresamos el siguiente comando:
sudo firewall-cmd --permanent --add-service=ftp
Posteriormente recargamos el servicio usando el comando
sudo firewall-cmd –reload

 

Paso 2

Recordemos que SEinux (Security-Enhanced Linux) es un módulo de seguridad que permite aplicar políticas de seguridad para el acceso de los usuarios. Para habilitarlo en CentOS 7 ingresaremos el siguiente comando:
sudo setsebool -P ftp_home_dir on
De esta forma hemos habilitado permisos de FTP dentro de CentOs 7.

 

 

4. Crear del usuario para el acceso por FTP a CentOS 7


A continuación, crearemos el usuario ftp_Solvetic el cual será el usuario a utilizar para acceder vía FTP a CentOS 7 y lo crearemos en la ruta /sbin/nologin para evitar que el Shell acceda al servidor.

 

Paso 1

En este caso ingresaremos lo siguiente:
sudo useradd -m ftp_Solvetic -s /sbin/nologin
Paso 2

Establecemos la contraseña usando el comando passwd.
sudo passwd ftp_Solvetic
Paso 3

En este punto ya podemos conectarnos usando algún cliente como Putty, Filezilla, etc., usando el puerto 21.

 

 

Paso 4

Ingresamos nuestras credenciales con el usuario recién creado.

 

 

Paso 5

Podemos acceder de forma segura y rápida al servidor FTP en CentOS 7.

 

 

 

 

5. Instalar y configurar OpenSSH Server en CentOS 7


Otra de las alternativas que tenemos es instalar y configurar SSH en CentOS 7 para acceder desde el puerto 22 y para ello realizaremos lo siguiente.

 

Paso 1

Para esto ingresaremos el siguiente comando:
sudo yum -y install openssh-server
Paso 2

Una vez descargado e instalado crearemos un grupo para el acceso por FTP, para ello ingresaremos lo siguiente:
sudo groupadd accesoftp (El nombre lo podemos determinar según el criterio nuestro)
Paso 3

Por defecto la ruta donde se almacena la configuración es /etc/ssh/sshd_config por ello abrimos este archivo usando el editor preferido y veremos lo siguiente.

 

 

Paso 4

Allí debemos ubicar la línea 142 cuyo nombre es Subsystem sftp /usr/libexec/openssh/sftp-server y debemos comentarla anteponiendo el símbolo #.

 

 

Paso 5

Finalmente ingresamos las siguientes líneas en la parte inferior del archivo:
  • Subsystem sftp internal-sftp
  • Match group accesoftp (Acá ingresamos el nombre del grupo creado)
  • ChrootDirectory %h
  • X11Forwarding no
  • AllowTcpForwarding no
  • ForceCommand internal-sftp

 

 

Paso 6

Guardamos los cambios y salimos del editor con la siguientes combinaciones. Después reiniciamos el servicio SSH usando el comando:
sudo systemctl restart sshd
Para guardar los cambios:

 

 

Ctrl + O

 

 

Para salir del editor:

 

 

Ctrl + X

 

 

 

6. Crear de usuario para acceso vía SSH a CentOS 7

 

Paso 1

A continuación, crearemos el usuario Solvetic_SSH y le brindaremos acceso al grupo que hemos creado, para ello ingresamos lo siguiente:
useradd -m Solvetic_SSH -s /sbin/nologin -g accesoftp
Paso 2

Procedemos a definir la contraseña del usuario usando el comando passwd.
passwd Solvetic-SSH
Paso 3

El siguiente paso consiste en otorgar los permisos al usuario creado como root al directorio Home y que pueda modificar los mismos, para ello ingresamos los siguientes comandos:
chown root /home/Solvetic_SSH
chmod 750 /home/Solvetic_SSH
Paso 4

Una vez otorgados los permisos al usuario vamos a crear un directorio llamado www dentro del directorio Home y para esto ingresaremos lo siguiente:
mkdir /home/Solvetic_SSH/www
chown Solvetic_SSH:accesoftp /home/Solvetic_SSH/www
Paso 5

En este caso accedemos desde Fedora 24 al FTP en CentOS 7 y podemos ver que funciona de manera correcta. Basta con ingresar ftp Dirección_IP e ingresar las credenciales respectivas.

 

 

Usando estos métodos podemos montar de manera sencilla y práctica un servidor FTP en CentOS 7. Tener montado nuestro servidor FTP nos aporta diversas ventajas a la hora de realizar transferencia de archivos facilitándonos mucho el trabajo. En Windows 10 también existen diferentes formas para crear un servidor FTP, la más útil sin duda es aquella que no necesita de programas externos.

 

¿Te ayudó este Tutorial?

Ayuda a mejorar este Tutorial!
¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!