X

Mi pequeño centro de torrents

Hola. Mi nombre es Edgardo Marquez; mi seudónimo, eddamaky. Estoy muy emocionado y agradecido de poder participar en Colaboratorio, un proyecto que llevo siguiendo desde hace un tiempo.

En este, mi primer articulo, quiero compartir cómo creé mi centro de torrents. He utilizado una Raspberry Pi 3 con los siguientes paquetes: Raspbian, SSH y Transmission. La instalación de Raspbian y su configuración se pueden consultar en este enlace: Raspberry pi (II) – Instalando el SO, del compi Alfredo, alias @archibinario.

SSH instalación y configuración

OpenSSH (Open Secure Shell) es un conjunto de aplicaciones que permiten realizar comunicaciones cifradas a través de una red, usando el protocolo SSH. El protocolo proporciona confidencialidad, autenticación y conexión entre servidor y cliente.

Banner de OpenSSH.

La instalación es sencilla. Ejecutamos este comando en nuestra terminal:

$ sudo apt-get  install  openssh-server

Una vez hecha la instalación del paquete vamos a configurar el archivo /etc/ssh/sshd_config. Para darle mayor seguridad hay que editarlo. Yo utilizo el programa VIM para esta tarea.

$ sudo vim /etc/ssh/sshd_config

Modificamos las siguientes líneas:

PermitRootLogin no — Las conexiones root quedan bloqueadas y proporcionamos una mayor seguridad a nuestra conexión, evitando ataques de fuerza bruta.

LoginGraceTime  30 — Establecemos así el tiempo necesario para introducir nuestra contraseña. Yo lo tengo en 30″.

MaxAuthTries 3 — Número de intentos permitidos al introducir la contraseña. Si nos pasamos, nos desconectará.

MaxSessions  1 — Números de sesiones simultáneas. También sirve para evitar ataques de fuerza bruta en diferentes sesiones.

Autenticación

Hay varias formas de autenticarse en nuestra Raspberry Pi: con usuario y contraseña o con claves publicas, que nos darán mayor seguridad. SSH introdujo la autenticación de clave pública para mejorar la seguridad y evitar tener contraseñas almacenadas en archivos. Las claves se deben administrar de forma análoga a los nombres de usuarios y contraseñas.

Creando claves SSH-key

Para generar el par de claves ejecutamos ssh-keygen en nuestro localhost. Usamos los siguientes argumentos:

-t especifica el tipo de clave, en este caso RSA.

-b el tamaño, que añadiremos a continuación.

-f la ruta donde guardamos las claves, que incluimos, y

-c comentario de la clave, para tener una referencia.

$ ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_raspberry_$(date +%Y-%m-%d) -C » Clave para Raspberry»

Cuando la tenemos generada, la copiamos en nuestra Raspberry.

ssh-copy-id -i ~/.ssh/id_rsa_raspberry eddamaky@raspberrypi

Para comprobar la seguridad podemos usar Lynis o Rebex SSH check.

Configurando disco

Primero tenemos que identificar la UUID de nuestro disco, podemos usar ls -l para listar el directorio o blkid, que nos da información mas detallada.

 $ ls -l  /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 feb 18 19:17 10CAFC17CAFBF736 -> ../../sda1
lrwxrwxrwx 1 root root 15 feb 18 19:17 24eaa08b-10f2-49e0-8283-359f7eb1a0b6 ->
 ../../mmcblk0p2
lrwxrwxrwx 1 root root 15 feb 18 19:17 69D5-9B27 -> ../../mmcblk0p1 
$ sudo blkid
/dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="69D5-9B27" TYPE="vfat"
PARTUUID="d9b3f436-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="24eaa08b-10f2-49e0-8283-359f7eb1a0b6" 
TYPE="ext4" PARTUUID="d9b3f436-02"
/dev/sda1: LABEL="discomedia" UUID="10CAFC17CAFBF736" TYPE="ext4" 
PARTUUID="19980bb7-01"
/dev/mmcblk0: PTUUID="d9b3f436" PTTYPE="dos"


Editamos el archivo /etc/fstab y agregamos una línea con PARTUUID=19980bb7-01 y el directorio de montaje, que es /media/nas.

$ sudo vim /etc/fstab
proc                    /proc     proc    defaults           0    0
PARTUUID=d9b3f436-01    /boot    vfat    defaults            0    2
PARTUUID=d9b3f436-02    /        ext4    defaults,noatime    0    1
PARTUUID=19980bb7-01    /media/NAS ext4   defaults          0    3
# a swapfile is not swap partition, no line here
# use dphys-swapfile swap[on|off] far that 

Creamos el punto de montaje con mkdir -p /media/nas y ejecutamos mount -a para que monte el disco.

Configurando Transmission

Este programa es un cliente P2P liviano, gratuito (aunque admiten donaciones) y libre para la red Bittorrent. Lleva un conjunto de aplicaciones variadas que nos permiten configurar las características que más nos interesen.

Transmission-cli: Una colección de herramientas por línea de comandos.
Transmission-gtk:  Un cliente BitTorrent que utiliza la interfaz GTK.
Transmission-qt: Igual, pero esta vez haciendo uso de la interfaz QT.
Transmission-remote-cli: Transmission empleando una interfaz para acceder al demonio.
Transmission-daemon: Y un demonio BitTorrent con interfaz web.

Instalación

Desde nuestro terminal ejecutamos  el siguiente comando:

$ sudo apt-get install transmission-daemon --no-install-recommends

Instalo Transmission-daemon porque solo utilizaré la versión web. Con el argumento –no-install-recommends evitaré que instale también los paquetes recomendados.

Una vez instalado en nuestro disco media/nas, montamos los directorios.

$ mkdir -p /media/nas/transmission/{torrent,temporales,finalizado}

Editamos el archivo de configuración de Transmission, que se encuentra en /etc/transmission-daemon/settings.json.

Modificamos las siguientes líneas: download-dir, incomplete-dir.
Con rpc-password se puede cambiar el password (contraseña) y, cuando volvamos a cargar el demonio, se volverá a cifrar.

"download-dir": "/media/NAS/transmission/finalizado",
"incomplete-dir": "/media/NAS/transmission/temporales/"
"rpc-password": "{c42e73f3cd7ee35229988c52a6c6c660dbbb1aa0VkOA/x2y",
"rpc-username": "transmission",
"rpc-whitelist": "127.0.0.1,192.168.1.*", 

Una vez modificado, detenemos el demonio y lo volvemos a cargar, para que registre los cambios.

$ sudo service transmission-daemon stop
$ sudo service transmission-daemon start

Accedemos a la consola de Transmission:

http://localhost:9091

Solicitará nuestro usuario y contraseña.

¡Y esto es todo, amigos y amigas! Saludos.


Páginas de referencia

man ssh ## (manual que aparece al ejecutar ese comando en una Terminal GNU/Linux).

Sitio Oficial SSH (software propietario)

Sitio Oficial OpenSSH (software libre)

Wikipedia/ OpenSSH

Wiki Debian/BitTorrent/Transmission-daemon


Imágenes

Las imágenes y las capturas fueron realizadas por el autor. Han sido licenciadas como el resto del blog: Atribución-Compartir Igual 4.0 Internacional (CC BY-SA 4.0).

Tratamiento de la fotografía de cabecera: Colaboratorio, nanomedios y experiencias virtuales.

4 1 voto
Article Rating
eddamaky: Informático de sistemas y apasionado de la tecnología y los coches.

Ver comentarios (12)

  • ¡Excelente, os felicito! por mi parte solamente os aporto un pequeño consejo: detened primero el demonio, modificad el JSON, guardad e iniciad el demonio.

    ¡Tengáis todos y todas un muy feliz día! 8-)

  • Buen artículo,
    Encuentro a esta, una utilidad básica pero sumamente práctica para la Rpi. Un indispensable.
    Saludos

    • Es interesante pero las Rpi están cayendo en desuso para estos fines, por tener poco hard y precio un poco alto en relación a su competencia
      Para NAS o descargas, se esta usando mucho la Odroid HC2, su ventaja, tiene SATA

  • Hola colega,

    Interesante propuesta. En mi caso yo tengo un NAS Synology donde gestiono las descargas que me interesan. Pero desde el punto económico y no privativo la combinación de RaspberryPi y Tranmission, es una gran alternativa.

    Aunque actualmente, tal y como ha comentado el usuario Nasher_87, existen un buen número de "cacharros" open hardware similares, de los que se puede sacar mucho jugo.

    Saludos!

  • Hola,
    ¿Que quieres decir con centro de torrents?
    ¿Un repositorio torrents?
    ¿un servidor de torrents?

    Saludos

    • gracias , es un servidor casero de descargas.
      Ya intentare ser mas especifico para proximas entradas.

      sldos

  • Genial, realice casi lo mismo pero con una raspberry pi 1 B con arch-arm, ssh y rtorrent anda muy bien para ser una placa vieja :D

Artículos relacionados

Este sitio utiliza cookies