Utilidades terminal I

Índice

Después de escribir el articulo sobre la grabación del terminal me dije, por que no una serie de artículos sobre utilidades para la terminal, pues bien vamos a ello.

Pastebinit

Utilidad escrita en Python que nos permite enviar información nuestra terminal a servicios como Pastebin y similares. Su instalación es sencilla desde nuestro terminal utilizando el gestor de pautes de nuestro sistema operativo.

MacOs

brew install pastebinit

Debian y derivados

apt install pastebinit

Ahora lo mejor es poner un ejemplo practico :

echo 'texto' | pastebinit -a 'jaimealberto' -b 'paste.openstack.org'

Al ejecutar nos retorna la url donde publica en texto:

http://paste.openstack.org/show/796233

Para Ver los servicios disponibles donde podemos publicar:

pastebinit -l

Supported pastebins:
- cxg.de
- dpaste.com
- fpaste.org
- lpaste.net
- p.defau.lt
- paste.debian.net
- paste.openstack.org
- paste.pound-python.org
- paste.ubuntu.com
- paste.ubuntu.org.cn
- paste2.org
- pastebin.com
- slexy.org
- sprunge.us

Argumentos mas utillizados:

-a author: por defecto nombre usuario logueado en la consola
-b servicio donde se publica, por defecto 'pastebin.com'
-t titulo, por defecto en blanco
-u usuario -p contraseña

Es una utilidad que nos puede ayudar en cuestiones como por ejemplo publicar nuestra llave pgp.

SendEmail

En algunas ocasiones tenemos la necesidad de mandar un correo electrónico desde el terminal para nuestros scritps o alguna otra cosas. SendEmail es un cliente de correo electrónico de ligero para el terminal. Está escrito en Perl y NO requiere MÓDULOS, con lo cual esa es una de las bases de su potencia y sencillez. Es compatible con la mayoría de los sistemas operativos: Linux, BSD, MacOs, Windows, etc. su instalación es bastante sencilla:

MacOs

brew install sendemail

Debian y derivados :

apt install sendemail

Estas son todas sus opciones disponibles:

Podemos utilizar nuestras cuentas correo de cualquier servicio de correo. Por estos y mas motivos es ideal para muchas situaciones. Vamos a ver como funciona con algún caso practico para entender su funcionamiento y que como siempre empiece a volar nuestra imaginación con todo lo que podemos hacer. Envio de correos con alertas, al terminal una ejecucion de un script, etc.

sendemail -f [email protected] -t [email protected] -xp mipassword -m "Texto del mensaje" -s smtp.gmail.com:587 -o tls=yes -xu usuario -u "Asunto del mensaje" -a archivoadjunto.txt

Opciones utilizadas:

-f Quien enviá el correo (from)
-t Destinatario del correo (to)
-u "Asunto" (subjet)
-m "Contenido del mensaje". Podemos refeccionar el contenido de un archivo
-s servidor.correo.com:numero_puerto
-o tls=yes, se activa tls si el servidor lo requiere 
-xu usuario de la cuenta de correo
-a archivo adjunto

Nota: si no indicamos la contraseña del usuario del servidor del correo que enviá, la solicita. Para indicarla es del modo siguiente, como se observa en el ejemplo:

-xp mipassword

Magic Wormhole

Utilidad escrita en Python la cual nos permite enviar y recibir archivos, directorios, texto, etc desde un host a otro de manera cifrada utilizando PAKE ( Password-Authenticated Key Exchange ) aplicando algoritmo SPAKE2. La comunicación utiliza un servidor intermedio el cual se encarga de crear un túnel TCP entre los hosts. Tenemos dispoible tanto la utilidad pro linea de comando, como el servicio web y una la propira biblioteca para utulizar en nuestros desarrollos. El proyecto en Github y su documentación.

La instalación la podemos realizar desde los fuentes y compilar o bien desde los distintos sistemas operativos utilizando sus correspondientes gestores de paquetes, por ejemplo:

MacOs

brew install magic-wormhole

Debian y derivados

apt install magic-wormhole

Fedora

dnf install magic-wormhole

Vamos a ver un ejemplo de uso para entender mejor su funcionamiento.

Envio de archivos:

Host que envia:

wormhole send README.md
Sending 7924 byte file named 'README.md'
On the other computer, please run: wormhole receive
Wormhole code is: 7-crossover-clockwork
 
Sending (<-10.0.1.43:58988)..
100%|=========================| 7.92K/7.92K [00:00<00:00, 6.02MB/s]
File sent.. waiting for confirmation
Confirmation received. Transfer complete.

Host que recive:

wormhole receive
Enter receive wormhole code: 7-crossover-clockwork
Receiving file (7924 bytes) into: README.md
ok? (y/n): y
Receiving (->tcp:10.0.1.43:58986)..
100%|===========================| 7.92K/7.92K [00:00<00:00, 120KB/s]
Received file written to README.md

Como se pede observar al comenzar el envió da un código de envío que es el que se ha de introducir en el receptor para comenzar la transferencia, este código es aleatorio y solo sirve para esta transferencia en concreto.

A parte de disponer de los comandos receive y send para el envío / recepción de archivos, directorios y texto. Adicionalmente tiene una opción para el intercambi de llaves ssh, que nos permite el intercambio de llaves publicas para conexiones ssh sin utilizar contrasña.