Recuperar un disco corrupto

Un par de comandos útiles para recuperar datos de un disco problemático. Para copiar el disco, mostrando una barra de progeso: dd if=/dev/sda | pv | dd of=/dev/sdb conv=noerror,sync Lanzamos ddrescue: ddrescue -d -r3 /dev/sda /dev/sdb output.log

January 30, 2018 · 1 min · 37 palabras · Nacho Cano

Actualizar nuestra IP en el panel de OpenDNS

Si estamos usando el servicio OpenDNS Home y tenemos una IP dinámica, podemos utilizar ddclient, disponible en los repositorios, para actualizar la IP registrada en dicho servicio cada vez que cambie nuestra IP. Para ello, lo único que necesitamos es editar el fichero de configuración en /etc/ddclient.conf: ## ## OpenDNS.com account-configuration ## use=web, web=myip.dnsomatic.com ssl=yes server=updates.opendns.com protocol=dyndns2 login=username@example.com password=opendns_password opendns_network_label Los espacios en el nombre dado a la red se deben sustituir por guiones bajos “_” y si la contraseña contiene caracteres especiales, se debe encerrar entre comillas simples “’”. ...

December 3, 2016 · 1 min · 198 palabras · Nacho Cano

Descargar archivos de zippyshare desde el terminal con plowshare

plowshare es una herramienta diseñada para descargar y subir ficheros a los sitios de intercambio de ficheros más populares. Hace ya un tiempo la podíamos usar para descargar archivos de Megaupload. Instalación Primero, instalamos las dependencias: $ sudo aptitude install curl recode imagemagick tesseract-ocr-eng spidermonkey-bin rhino perlmagick aview Podemos descargar el código fuente desde el repositorio Git y compilarlo: $ git clone https://github.com/mcrapet/plowshare.git $ cd plowshare Podemos instalarlo mediante sudo make install, o si no tenemos privilegios de root, podemos sobreescribir el prefijo /usr con make install prefix=$home/local. ...

November 26, 2016 · 1 min · 168 palabras · Nacho Cano

Servicio de SSH con Latch en Ubuntu

Mediante Latch, podemos añadir una capa extra de seguridad a nuestro servicio SSH, limitando la ventana de tiempo durante la cual permitimos iniciar sesión en el servidor. Instalación Descargamos los paquetes que vamos a necesitar: $ sudo aptitude install gcc make $ sudo aptitude install libpam0g-dev libcurl4-gnutls-dev libssl-dev (Si ya teníamos instalado el paquete libcurl4-openssl-dev, podemos usar éste en lugar de libcurl4-gnutls-dev.) Descargamos el código de github y compilamos: $ git clone https://github.com/ElevenPaths/latch-plugin-unix.git $ cd latch-plugin-unix $ ./configure prefix=/usr sysconfdir=/etc && make && sudo make install Antes de continuar, vamos al área de desarrolladores y creamos una cuenta para este servicio. Ahí obtenemos el identificador de aplicación y la contraseña. ...

March 22, 2015 · 3 min · 506 palabras · Nacho Cano

Solucionado el error «AttributeError: '_ssl._SSLSocket' object has no attribute 'issuer'» en Ubuntu Utopic Unicorn

Si al usar la librería de Python para XMPP nos aparece el error: Traceback (most recent call last): File "./test_xmpp.py", line 12, in cl.connect() File "/usr/lib/python2.7/dist-packages/xmpp/client.py", line 205, in connect while not self.TLS.starttls and self.Process(1): pass File "/usr/lib/python2.7/dist-packages/xmpp/dispatcher.py", line 303, in dispatch handler['func'](session,stanza) File "/usr/lib/python2.7/dist-packages/xmpp/transports.py", line 330, in StartTLSHandler self._startSSL() File "/usr/lib/python2.7/dist-packages/xmpp/transports.py", line 309, in _startSSL tcpsock._sslIssuer = tcpsock._sslObj.issuer() AttributeError: '_ssl._SSLSocket' object has no attribute 'issuer' parece que es debido a un fallo en dicha librería. ...

February 3, 2015 · 1 min · 127 palabras · Nacho Cano

Cifrar un directorio sincronizado en Mega con encfs

Ya tenemos cuenta en Mega y las megatools instaladas. Ahora vamos a cifrar el directorio, pero en lugar de utilizar ecrypt tal como hicimos con Dropbox, esta vez usaremos encfs. Suponemos que tenemos dos directorios, ~/mega y ~/mega.enc. Utilizaremos encfs, disponible en los repositorios, para cifrar el contenido del primero en el segundo, y compartir el segundo en Mega. Creamos el directorio en Mega: $ megamkdir /Root/mega.enc Montamos el directorio cifrado: $ encfs --reverse /home/user/mega /home/user/mega.enc Creando nuevo volumen cifrado. Por favor, elige una de las siguientes opciones: pulsa "x" para modo experto de configuracion, pulsa "p" para modo paranoia pre-configurado, cualquier otra, o una linea vacia elegira el modo estandar. ?> x Seleccionado modo de configuración Manual. Los siguientes algoritmos de cifrado estan disponibles: 1. AES : 16 byte block cipher -- Soporta claves de longitud 128 hasta 256 bits Soporta bloques de tamaño 64 hasta 4096 bytes 2. Blowfish : Cifrado por bloques de 8 bytes -- Soporta claves de longitud 128 hasta 256 bits Soporta bloques de tamaño 64 hasta 4096 bytes Teclee el numero correspondiente a su eleccion: 1 Algoritmo seleccionado "AES" Por favor, elige un tamaño de clave en bits. El cifrado que has elegido soporta tamaños desde 128 a 256 bits en incrementos de 64 bits. Por ejemplo: 128, 192, 256 Tamaño de clave seleccionada: 256 Usando tamaño de clave de 256 bits Elige un tamaño de bloque en bytes. El cifrado que tu has elegido soporta tamaños desde 64 a 4096 bytes en incrementos de 16. O bien, pulsa Intro para elegir el tamaño por defecto (1024 bytes) Tamaño de bloque del sistema de ficheros: 4096 Usando tamaño de clave de 4096 bits Los siguientes algoritmos de cifrado de nombres de archivo estan disponibles: 1. Block : Codificación en bloques, oculta tamaño de los nombres de fichero 2. Null : No encryption of filenames 3. Stream : Codificacion en canal, guarda nombres de fichero tan cortos como sea posible. Teclee el numero correspondiente a su eleccion: 1 Algoritmo seleccionado "Block"" --reverse especificado, no se está usando unique/chained IV Configuración finalizada. El sistema de ficheros a ser creado tiene las siguientes propiedades: Cifrado del sistema de ficheros: "ssl/aes", versión 3:0:2 Codificacion del nombre de fichero: "nameio/block", versión 3:0:1 Tamaño de la llave: 256 bytes Tamaño de Bloque: 4096 bytes Agujeros en archivos pasados a través del ciphertext. Ahora tendrás que introducir una contraseña para tu sistema de ficheros. Necesitaras recordar esta contraseña, dado que no hay absolutamente ningún mecanismo de recuperación. Sin embargo, la contraseña puede ser cambiada más tarde usando encfsctl. Nueva contraseña Encfs: Verifique la contraseña Encfs: Si no queremos tener que introducir la contraseña cada vez que montemos el directorio, podemos un comando que vuelque el contenido de un fichero con dicha clave, por ejemplo ~/.encfs_passwd: ...

January 28, 2015 · 3 min · 589 palabras · Nacho Cano

MegaSync y Megatools para acceder a Mega desde Ubuntu

El servicio de almacenamiento en la nube de Mega ofrece hasta 50 GB de espacio gratuito (10 GB de transferencia al mes), cifrado, multiplataforma, con sincronizado selectivo y está disponible desde el navegador. Con 50 GB da para guardar algunas copias de seguridad de nuestros archivos, correos o bases de datos. A continuación, veremos cómo instalar el cliente y acceder desde el terminal de nuestro servidor. Instalación en el escritorio Aunque vayamos a instalarlo en el servidor, no he querido dejar de comentar la instalación de escritorio, que es realmente sencilla. Instalamos la librería libcrypto++9 desde los repositorios y, a continuación, descargamos el paquete, en este caso para Ubuntu Trusty Tahr 14.04 32 bits, y lo instalamos: ...

January 27, 2015 · 5 min · 1060 palabras · Nacho Cano

Solucionado el error «ImportError: cannot import name IncompleteRead» al ejecutar pip en Ubuntu Trusty Tahr 14.04

Si al ejecutar pip nos encontramos con el siguiente error: Traceback (most recent call last): File "/usr/bin/pip", line 9, in load_entry_point('pip==1.5.4', 'console_scripts', 'pip')() File "/usr/local/lib/python2.7/dist-packages/pkg_resources.py", line 352, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "/usr/local/lib/python2.7/dist-packages/pkg_resources.py", line 2307, in load_entry_point return ep.load() File "/usr/local/lib/python2.7/dist-packages/pkg_resources.py", line 2021, in load entry = __import__(self.module_name, globals(),globals(), ['__name__']) File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 11, in from pip.vcs import git, mercurial, subversion, bazaar # noqa File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in from pip.download import path_to_url File "/usr/lib/python2.7/dist-packages/pip/download.py", line 25, in from requests.compat import IncompleteRead ImportError: cannot import name IncompleteRead Parece ser debido a un problema entre el paquete requests y pip. A partir de las versión 2.4.0 de requests se eliminó requests.compat.IncompleteRead. Sin embargo, las versiones de pip anteriores a julio de 2014 aún utilizan IncompleteRead. ...

January 2, 2015 · 1 min · 151 palabras · Nacho Cano

Recuperar el sistema tras borrar «/var/lib»

Si por casualidad acabamos ejecutando un rm -fr /var/lib, tendremos un pequeño problema. El directorio /var/lib está pensado para que los programas instalados guarden información variable (ver man hier). Puestos a suponer, supongamos que esto es exactamente lo que acaba de pasar, que aún no hemos reiniciado la máquina y que seguimos teniendo acceso por SSH. Copias de seguridad En este momento, ya es tarde para pensar en copias de seguridad si no las habíamos hecho antes. Habrá información que hayamos perdido y que sea imposible recuperar, por ejemplo, las bases de datos MySQL. Probablemente, perderemos información importante para los programas y es posible que recuperar el sistema en lugar de reinstalar favorezca que haya toda clase de errores extraños. ...

December 26, 2014 · 3 min · 560 palabras · Nacho Cano

FrootVPN, servicio VPN anónimo y gratuito para Android y Ubuntu

FrootVPN es un servicio VPN que se anuncia enfocado a preservar la privacidad y el anonimato, a la par que gratuito. Mediante el uso de un servicio como éste, podremos conectarnos a Internet de forma segura y anónima desde sitios que pudieran no serlo, por ejemplo, redes abiertas que no usan cifrado, servicios que restringen el acceso por país, países que censuran la libertad de expresión o el acceso a la cultura, etc. ...

November 14, 2014 · 2 min · 420 palabras · Nacho Cano