—–BEGIN PGP SIGNED MESSAGE—–
Hash: SHA1
¡Hola a todos! un tutorial para usar gpg desde consola.
Importando las llaves
Suponiendo que queremos descargar la clave privada desde un servidor ftp donde la tenemos guardada, lo haríamos asi:
$ wget ftp://USUARIO:CONTRASENA@ftp.google.com/pedro_private.asc
Listo, ahora tenemos nuestra clave privada en el current working directory. Es bastante importante que ejecutemos
$ history -c
para eliminar la contraseña del history de bash. Procedemos a importar la clave privada.
$ gpg --import pedro_private.asc gpg: key EC5D3913: "droope <pedro@worcel.com>" not changed gpg: key EC5D3913: already in secret keyring gpg: Total number processed: 2 gpg: unchanged: 1 gpg: secret keys read: 1 gpg: secret keys unchanged: 1
En mi caso ya la tenía importada por lo que no pasó nada. Después necesitamos importar la llave pública de nuestro receptor. El procedimiento es el mismo. Si no tenemos su llave, podemos intentar buscarla con –search-keys
$ gpg --import bob_public.asc $ gpg --search-keys "bob perez"
Encriptando un mensaje
Para encriptar y firmar un mensaje, el comando básico es
$ gpg -sea -r bob You need a passphrase to unlock the secret key for user: "droope <pedro@worcel.com>" 1024-bit DSA key, ID EC5D3913, created 2010-06-29 Enter passphrase:
el parámetro -r indica el receptor, Podemos usar su nombre, su apellido, su email, o el ID de su llave supongo. -s es para firmar, -e es para encriptar y -a es para que el texto aparezca en ascii y no en binario. ( I think, aunque -a viene de armor y no de ascii )
Escribimos la contraseña y comenzamos a escribir un mensaje. Es un poco incómodo para empezar, porque no podemos navegar el texto excepto con el backspace, y no podemos subir las líneas ni nada por el estilo. Una vez terminada la edición del texto presionamos Ctrl + D una o dos veces para terminar la edición. Esto es estandar en bash, no recuerdo exactamente, pero creo que es la forma estandar de insertar un caracter EOF ( end of file ). Sirve también para cuando queremos envíar mails desde consola utilizando el comando `mail`. Vale la pena recordarlo ;) es muy util.
Fácil, eh? Y mucho mas práctico que cualquier cliente de X. El próximo manual mas información sobre como usar un mejor editor a la hora de editar el texto. ( nano ftw ).
Para encriptar un archivo
gpg -sea -r bob archivo.txt
Desencriptar un mensaje
Para desencriptar un mensaje de consola, el comando es
$ gpg -d # pegamos el texto a desencriptar - -----BEGIN PGP MESSAGE----- Version: GnuPG v1.4.11 (GNU/Linux) hQEOA84lsilnu8zVEAQAtD6gz9Ug2CvD1yLpbTrg+3TFRjSyF/mD3sbximxX1hju v7Kw7UPcVcWMx/jT4ORdlDqzRSVqHnXxOFXm8QSy+aJinxYoEtIGuIqJL/2Pi9KL Rc5qz2JULX2Ux5I17tDXJCrDBttMBCwpMFcwYZ33KIgikPFpLeWEXzXStzNx9oUD /Rsjqnlph5EcPHlbMtYH37eqA8DvopCZs4GFFuqcLdbvsJDLJlsgm3WD6WefVHmj RB8f/BnF1XKQcwApLROSh0SBx5IqtzmL657QlJm0yNwmcW9M31R/xF8G96QnxHud mvvwYKfT/CTIOJux45FNFDjgW+CkO/scAqzksrdqH7Ty0pUBf8oK0vVT2ndtZVOr eODDy0i94cdtddE7EeU6+g1/E+V9730gKY23rmDphBXKHdY6dHcoExwWaErpl9Wc L1QAA9PdR4ELfwFU92lko3VxtvgTLb7Kxme21VXShcfz6NUAB8HHdcNWYz8Oq6Wn ivjCRYZQvbXXFiCeKBp1b0A2fbxXlLsXd6jLgwqvewOd6fLATCIskw== =GbH7 - -----END PGP MESSAGE----- You need a passphrase to unlock the secret key for user: "droope <pedro@worcel.com>" 1024-bit ELG-E key, ID 67BBCCD5, created 2010-06-29 (main key ID EC5D3913) Enter passphrase:
Apretamos CTRL + D una o dos veces y aparecerá el texto desencriptado
Si queremos desencriptar un archivo, lo podemos hacer
$ gpg -do archivo_desencriptado archivo_encriptado.txt.asc
Firmar un mensaje en texto claro
Para hacer una firma como la que tiene este post, lo podemos hacer
$ gpg --clearsign
¡Espero que les sea de utilidad!
Un abrazo grande,
Pedro
—–BEGIN PGP SIGNATURE—–
Version: GnuPG v1.4.11 (GNU/Linux)
iEYEARECAAYFAk4xTIsACgkQ1LYwDexdORPJAwCgyPie6a19omWPZzCsEmpWz82I
zRUAoKFb0hy/j/keEEZU799mEKeD9wl3
=DNQr
—–END PGP SIGNATURE—–
Por fin lo que buscaba, rápido y claro.