Cargando



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


oct 26 2016 14:19
Profesional
oct 26 2016 23:43

instalar-servidor-FTP-en-linux.png

 

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

2-montar-servidor-ftp-linux.png

 

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

3-montar-servidor-ftp-linux.png

 

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

4-montar-servidor-ftp-linux.png

 

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

5-montar-servidor-ftp-linux.png

 

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

6-montar-servidor-ftp-linux.png

 

 

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

7-sudo-firewall-cmd-permanent-reload.png

 

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.

 

8-configurar-putty-linux.png

 

Paso 4

Ingresamos nuestras credenciales con el usuario recién creado.

 

9-configurar-putty-linux.png

 

Paso 5

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

 

10-local-host-linux.png

 

 

 

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.

 

11-ssh-linux.png

 

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

 

12-ssh-linux.png

 

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

 

13-ssh-linux.png

 

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.

 

14-ssh-linux.png

 

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?


3 Comentarios

Buscaba esto. Gracias de veras y encima para Centos que era lo que necesitaba. Tengo la versión 6 pero será igual.


Pablo Santos
nov 13 2016 22:35

Gracias Solvetic, me ha gustado para conocer como hacer esto. Ya lo he probado y funciona bien.


Bernabé Aquino Pelex
dic 12 2016 23:47

bien explicao, gracias por compartir

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X