Utilidades terminal I
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.