Raspberry Pi como servidor FTP (no-ip)

⌛ Lectura estimada: 4 minutos

El otro día hablamos de la raspberrypi, y en este pequeño tutorial os voy a enseñar como montar un servidor ftp en ella. Podremos acceder localmente (192.168.1.x) o desde internet, con el servicio no-ip.com (lo que hicimos con FreeNas)

Bien, para los que no lo sepan, un servidor ftp (file transfer protocol) es un software cliente/servidor que permite a usuarios transferir ficheros entre ordenadores en una red TCP/IP.

Esta práctica la vamos a hacer sobre el sistema operativo Raspbian (aquí os dejo un tutorial muy bien detallado de como instalarlo y configurarlo)

Bien, antes de todo vamos a configurar algunos parámetros de red, que nos van a servir para poder conectar nuestra raspi mediante Wi-Fi (con adaptador USB), y poder acceder a ella mediante SSH.

1. Configuración de Red

Una vez dentro del sistema vamos a introducir el siguiente comando:

$ sudo nano /etc/network/interfaces

Y vamos a dejarlo como el siguiente archivo:


Donde pondréis vuestro SSID, y vuestro password.
Una vez echo esto guardamos con Ctrl+O y cerramos con Ctrl+X.

Reiniciamos la raspberry con el adaptador:

$ sudo reboot

Si nos fijamos, podremos apreciar que cuando le hacemos un ifconfig, ya tendremos un IP y nos podremos conectar a internet.

 

2. Instalación ssh

Para acceder desde otro ordenador en nuestra raspberry tendremos que instalar ssh: 

$ sudo apt-get install ssh

Una vez echo esto si queremos acceder desde otro ordenador (también tendrá que tener ssh instalado) hacemos lo siguiente:

$ ssh pi@192.168.1.5

3. Instalación y configuración vsftpd 

Primero vamos a descargar el programa:

$ sudo apt-get install vsftpd 

Una vez descargado abrimos archivo de configuración:

$ sudo nano /etc/vsftpd.conf

Tendremos que cambiar algunos parámetros:

local_enable=YES
write_enable=YES

Y añadir la siguiente línea si queremos ver los archivos ocultos:
force_dot_files=YES
Por último, reiniciamos el servicio:
$ sudo service vsftp restart
 
Comprobamos que funciona accediendo desde internet a la dirección “ftp://192.168.1.5:21
 
 

En mi caso con el nombre de usuario: pi y el password: raspberry

Añadir usuarios

Creamos un nuevo usuario:

$ sudo useradd dcrx

Creamos una carpeta en la cual el dcrx podrá crear directorios.
$ sudo mkdir /home/dcrx
 
Damos permisos al usuario
$ sudo chown dcrx:users /home/dcrx
 
Creamos una contraseña para el usuario
$ sudo passwd dcrx
 
Bien, ahora si queremos entrar como este usuario deberíamos poder hacerlo sin ningún problema. Para subir archivos podemos utilizar la siguiente herramienta: FILEZILLA.

4. Configuración NO-IP en FTP

Como he dicho antes, esta opción nos permite conectarnos a nuestra raspberry fuera de casa, en cualquier lugar. 

Para hacer posible esto tenemos que:

1. Crear una cuenta en no-ip.com.
2. Configurar nuestro dominio en “Add host”


   2.1 Enlazamos esta información al apartado DDNS denuestro router: (en mi caso livebox)
 

     

 

 
3. Creamos un directorio /no-ip e instalamos el siguiente paquete en la raspberrypi.
$ mkdir no-ip
$ cd no-ip
$ wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
$ tar -zxvf noip-duc-linux.tar.gz
$ cd noip-2.1.9-1/
$ make
$ sudo make install (en este paso nos pedirá el correo y el password de no-ip en el que nos hemos registrado)
4. Creamos un fichero de ejecución para el servicio.
$ sudo nano /etc/init.d/noip
 
Introducimos lo siguiente:

#! /bin/bash
### BEGIN INIT INFO
# Provides: Servicio No-IP
# Required-Start: $syslog
# Required-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: arranque automatico para no-ip
# Description:
#
### END INIT INFO
sudo /usr/local/bin/noip2

 
Guardamos el archivo, le damos permisos de ejecución y lo ponemos en el arranque:

sudo chmod +x /etc/init.d/noip2
sudo update-rc.d noip2 defaults

 
5. Apertura de los puertos:
Nos vamos a nuestro router, (en mi caso tengo el Livebox y configuramos los puertos de la siguiente manera) Abrimos puerto 21 (ftp) 22 (ssh) 80 (http) 5900 (vnc)
Si queremos que la IP sea fija tendremos que editar el archivo /etc/network/interfaces y poner la IP como estática.
O mejor dicho lo asignamos desde el router:



 

Una vez echo esto ya podrás entrar en tu raspberry desde cualquier lugar:

Si os ha gustado este tutorial  me lo podéis hacer saber en los comentarios! Cualquier duda en mi twitter @davcrelib2. Y si os interesan mas posts como este no dudéis suscribiros y seguirme en mi GooglePlus!

Saludooos!

5 comentarios en “Raspberry Pi como servidor FTP (no-ip)

  1. Hola. Tengo un disco duro externo por usb y me gustaria crear un usuario que por ftp aparecezcan directamente al acceder las carpetas y archivos que tenga en ese usb. Como puedo hacer?, me da igual que sea un usuario nuevo o el pi

  2. Buenas he seguido el tutorial entero y todo bien hasta que pongo la dirección de mi hostname de no-ip.com, el usuario y contraseña no me vale ninguno de los que tengo creados localmente ni con el usuario de no-ip.com
    ¿Cuáles son dichos parámetros?

    Un saludo y gracias por el tutorial, eres genial.

    1. Has abierto el puerto 80 en tu router?

      Tienes que habilitar en el vsftpd.conf el parámetro local_enable=YES y de esta forma ya podrás acceder con los usuarios creados en el sistema.

      Saludos!

Deja un comentario

Su dirección de correo electrónico no será publicada. Campos necesarios *