Saltar al contenido

Usar Ledger con Electrum wallet en Tails OS.

Escrito por elchavo

Como sabréis, para todo bitcoiner, la seguridad y la privacidad suelen ser dos requisitos importantes en el almacenamiento y movimiento de sus fondos. Para esto, existen varias soluciones, pero, ¿cual de ellas te cabe en un bolsillo? La comunidad de #directobitcoin2140 os trae este tutorial, con el que podréis combinar a la perfección seguridad, privacidad y portabilidad. Todo ello usando el sistema operativo Tails en un live USB combinado con el uso de un Hardware Wallet.

Para ello necesitas:

  • 1 Usb de 8GB o superior.
  • 1 Hardware Wallet Ledger Nano.

Para empezar, descarga el sistema operativo Tails para flashearlo a nuestro USB. Esto lo haremos desde la página oficial de dicho OS:

Tails OS

En esta página, puedes informarte y descargarte Tails OS. Allí encontrarás todas las instrucciones para hacerlo, incluyendo la verificación de la firma, que es imprescindible para certificar que el software es seguro.

Una vez tengas el USB flasheado correctamente, reinicia el pc y arranca el sistema operativo Tails.

Al iniciar Tails por primera vez, configura el disco Persistente, elige una contraseña y activa las siguientes opciones:

Tras esto reinicia para aplicar los cambios.

Al reiniciar, desbloquea el disco Persistente con la contraseña que hayas elegido, y en opciones adicionales, pon una contraseña de administrador que necesitaremos para el proceso. Una vez hecho esto, inicia Tails.

Conectate a la red (Preferible por LAN)

Abre el Terminal y introduce estos comandos:

git clone https://github.com/LedgerHQ/btchip-python.git

git clone –recursive https://github.com/trezor/cython-hidapi.git

(A partir de este punto, necesitas abrir el terminal root, que es igual que el terminal pero en el menú la encontramos de color rojo).

Una vez abierto, introduce los siguientes comandos:

apt update

(En ocasiones da fallos del servidor, en la imagen lo puedes ver subrayado en rojo, y hay que intentarlo hasta que se consiga instalar sin ningún error, como en la segunda vez, subrayado en verde, que complementa la primera descarga con los paquetes faltantes).

apt install –install-recommends python3-pip

Tails te preguntará si deseas instalarlo solo una vez o cada vez, elige «instalarlo cada vez» y tendremos que dar al intro para poder introducir el siguiente comando.

apt install cython3

Tails te preguntará si deseas instalarlo solo una vez o cada vez, elige «instalarlo cada vez» y tendremos que dar al intro para poder introducir el siguiente comando.

apt install libusb-1.0-0-dev

Tails te preguntará si deseas instalarlo solo una vez o cada vez, elige «instalarlo cada vez» y tendremos que dar al intro para poder introducir el siguiente comando.

apt install libudev-dev

Tails te preguntará si deseas instalarlo solo una vez o cada vez, elige «instalarlo cada vez» y tendremos que dar al intro para poder introducir el siguiente comando.

pip3 install –user /home/amnesia/cython-hidapi/

pip3 install –user /home/amnesia/btchip-python/

cp -a ~/.local/ /live/persistence/TailsData_unlocked/dotfiles/

chown -R amnesia /live/persistence/TailsData_unlocked/dotfiles/.local/

chgrp -R amnesia /live/persistence/TailsData_unlocked/dotfiles/.local/

Estos últimos 3 comandos quedarán como en la imagen, sin respuesta aparente en la terminal.

Una vez acabes con estos comandos sin errores, continúa con esto:

Visita desde el navegador TOR la URL:

https://raw.githubusercontent.com/LedgerHQ/udev-rules/master/add_udev_rules.sh

Descarga manualmente de esa url las udev rules (en el circulo rojo, guardar como…). Se descargaran en la carpeta Persistent tor, y tendremos que moverlas manualmente a /home/amnesia/Persistent navegando con la aplicación Files)

Una vez las hayamos movido a la carpeta Persistent, Abre el Terminal normal (icono de color negro) y introduce estos comandos:

cd Persistent

sudo chmod +x add_udev_rules.sh

sudo ./add_udev_rules.sh

En este punto, debes reiniciar Tails y dejar que en el reinicio se instale todo automáticamente.

*Recuerda que cada vez iniciemos debes desbloquear el disco persistente y en opciones adicionales poner contraseña de administrador).

Verás un mensaje que dice instalando software adicional, y al finalizar saldrá esto:

Una vez instalado, tendremos que ir en la terminal y introducir los comandos:

cd Persistent

sudo ./add_udev_rules.sh

Tras esto, conectamos el Ledger al pc, introducimos el pin del dispositivo, y abrimos la app de bitcoin.

A continuación abrimos Electrum, preferiblemente conectándola a nuestro propio nodo. Si no dispones del mismo, te dejo este →  video ←  de canal de youtube El laboratorio virtual de bitcoin, muy útil para montarlo si no dispones de uno.

Para conectar Electrum wallet al nodo de forma remota, desde una terminal introduce el siguiente comando:

electrum –oneserver –server «pon aquí dirección onion de electrum personal server».onion:50001:t –proxy socks5:127.0.0.1:9050:t

Y si no tienes nodo, abre la app de electrum directamente desde el menú y sigue las instrucciones.

Primero te aparecerá la opción de ponerle nombre a una cartera, lo seleccionas y le pinchas en continuar.

A continuación, en create new wallet > Cartera estándar > Use a hardware device.

En este punto, debería aparecerte el dispositivo, en caso contrario, hay que asegurarse de que el dispositivo esté bien conectado, con el pin puesto y dentro de la app de bitcoin. En caso que siga sin detectarlo, sal de la app de Bitcoin, vuelve a entrar en ella y reinténtalo.

Si todo está correcto, te aparecerá esta pantalla. Pulsa en siguiente:

La siguiente pantalla, te permite seleccionar qué tipo de direcciones queremos en nuestra wallet (recomendamos Segwit native, por el ahorro en fees). Selecciona la que necesites o quieras tener y ve a siguiente.

Ahora se nos abrirá nuestra cartera donde podremos ver abajo a la derecha que tenemos el dispositivo Ledger conectado, y una bola de color rojo que nos indica que la cartera está sin conexión.

Esto tardará poco en cambiar su estado y ponerse de color azul para indicarnos que está conectado a través de la red TOR.

¡Y con esto sería todo!

Agradecer en estas líneas a R0tterdam y Arkad por animarme a hacer el tutorial, a investigar y a buscar soluciones para la mejora del setup, y su vital ayuda para conseguir realizarlo, ya que sin ellos no hubiera sido posible.

*** ANEXO ***

Si no tenías tu Ledger configurado, actualizado y con la app de BTC, debes hacerlo previamente en Ledger live para poder usarlo.

Desde Tails, no podremos hacerlo, así que para continuar con nuestro protocolo seguro y privado lo haremos desde Ubuntu 20.04.

Primero instalaremos en nuestro equipo, bien sea via maquina virtual, o con un usb Ubuntu 20.04 para tener un sistema completamente limpio. Flasheamos igual que tails un usb, lo conectamos, arrancamos y seguimos. los pasos de la instalación.

Una vez en ubuntu, instala el navegador TOR. Para esto abre Terminal y introduce los comandos:

sudo apt install git

sudo apt install tor

sudo add-apt-repository ppa:webupd8team/tor-browser

sudo apt update

sudo apt install torbrowser-launcher

Una vez instalado, instala un script que hará que todo el trafico de internet, pase por  TOR.

Ve a la URL https://github.com/Edu4rdSHL/tor-router y haremos click en el botón verde donde pone clone or download, y nuevamente click en el dibujo del portapalpeles para copiar la dirección.

Abre nuevamente el terminal, crea una carpeta dentro de home a la que llamaremos tools, entraremos en ella, clonaremos el script allí y lo instalaremos con los siguientes comandos:

cd ..                    (observaremos que estemos en admin /home)

sudo mkdir tools

cd tools

sudo git clone (Aquí poner la dirección copiada en el portapapeles)

cd ./tor-router && sudo bash install.sh

Para comprobar que todo ha ido bien, entra en la dirección check.torproject.org desde firefox, para ver el mensaje de congratulations. (Si quieres puedes navegar a sitios que te digan tu ip para comprobarlo). Esto significará que se ha instalado con éxito el script y podemos proceder a descargar el ledger live.

Ve a la página oficial de Ledger y descarga el programa.

ledger.com/ledger-live/download

Descárgalo en la carpeta Descargas para facilitarnos la tarea.

Luego, desde el Terminal haremos ejecutable el archivo, instalaremos las udev rules para que reconozca el usb, y abriremos el programa. Para ello escribiremos:

cd Descargas

chmod +x ledger-live-*.AppImage

wget -q -O – https://raw.githubusercontent.com/LedgerHQ/udev-rules/master/add_udev_rules.sh | sudo bash 

En este punto deberías poder abrir el programa haciendo doble click sobre el archivo en la carpeta de Descargas, pero si tenéis un error de sandbox debes escribir desde el Terminal, aún en la carpeta de descargas:

./ledger-live-desktop-*.AppImage –no-sandbox

Y se abrirá.

Tienes que ir siguiendo las instrucciones del programa con normalidad, (no seleccionéis las opciones de compartir nada), y hacer el check de si vuestro Ledger es genuino.

Una vez hecho esto, desde el mánager haz el update del software del Ledger, y le instalas la app de BTC.

Cuando lo tengas hecho, en Opciones, ya podéis darle a la opción de reset ledger live, desconectáis vuestro ledger y volver a iniciar TAILS.

Para añadir un extra de seguridad, te recomiendo que añadas una Passphrase después de este proceso. Bien temporal, o creando un passphrase unido a otro Pin. De esta forma generas otra cartera con un nuevo Xpub (clave pública extendida), que nadie tendrá (ni los servidores de la Compañía). Aquí tienes un enlace a un video por si no sabes como funciona:

Crear un Passphrase en Ledger

Tras esto, conecta Ledger al PC, introduce el Pin nuevo con la passphrase (o el pin original y añade el passphrase de forma temporal), y accede a la app de Bitcoin. En Tails, abre Electrum wallet, preferiblemente conectándola a tu propio nodo.


Artículo escrito por Elchavo

Recién iniciado en Bitcoin con menos de un año de antigüedad y early adopter del grupo de telegram de Bitcoin 2140, la caída por la madriguera se me antoja como un salto hiper espacial de Star Wars.  Predicador de la tecnología y el cambio de paradigma que supone a toda persona allegada que tenga ganas de escuchar, y tendiendo la mano para ayudar a todo aquel que lo necesite, porque esta es la filosofía que no puedes ver escrita, pero se te revela cuando entras a formar parte de la comunidad. Yo elegí la pastilla roja.

@LChavo (en Telegram)