Revocando llave GPG 1

Hace 13 años y 3 meses creé mi llave GPG con 1024 bits y, a pesar que prorrogo su vencimiento año tras año, hoy por su tamaño es considerada obsoleta. Esa llave GPG respresentó para mi una experiencia magnífica, donde muchos amigos y conocidos me acompañaron con su firma para ampliar la cadena de confianza ...

Ejecutar un script bash remoto sin instalar 1

Me ha sido muy útil ejecutar scripts remotos sin instalarlos localmente. Esto me permite, por ejemplo, hacer la instalación inicial del cliente Puppet o poner Ansible para completar la configuración del sistema hasta llevarlo a estado de producción. Para descargar el script se puede usar tanto el comando curl como wget. Uno u otro suelen ...

Enviar correo SMTP+SSL por telnet

No es precisamente telnet ya que telnet no implementa SSL, pero me parece un buen título para explicar a que se refiere este artículo. Siguiendo con el artículo de «Correo POP3+SSL por telnet», ahora explico cómo hacer telnet (a Gmail) para enviar correo. Obtener usuario/clave El usuario y clave son pasados codificados en base64, por ...

Copiando archivos de un servidor remoto a otro con SCP 1

Muchas veces me he visto pasando datos de un servidor remoto a otro, ya sea moviendo un sitio web, un dump de base de datos o un maildir con correos. Generalmente utilizo scp (Secure Copy) o rsync sobre ssh para conectar server_origen con server_destino. Pero qué pasa si un server no se ve con otro; ...

Verificando certificados SSL desde la línea de comandos 2

Recientemente he necesitado revisar el vencimiento de certificados SSL mediante un script que me permitiera conocer el estado de los mismos en muchos servidores. Una primer opción era ejecutar el comando openssl para verificar cada certificado: $ openssl x509 -in certificado.pem -noout -enddate notAfter=Oct 24 23:59:59 2014 GMT y automatizarlo mediante conexiones ssh, pero el ...

Retorno de valores en funciones de Bash

El lenguaje de scripting de bash permite el uso de funciones que deben estar declaradas siempre antes de ser llamadas, pero a diferencia de otros lenguajes, no permite retornar valores. Siempre que una función de bash finaliza devuelve el valor de estado de salida, RC o $?, que es cero en caso de ejecución correcta ...

[SOLVED] dpkg: warning: package not in database

Armando un segundo servidor con Debian GNU/Linux Wheezy equivalente a otro que ya tenía instalado, copié los paquetes instalados con server1 # dpkg --get-selections > paquetes-intalados.txt server2 # dpkg --set-selections < paquetes-instalados.txt server2 # apt-get dselect-upgrade pero obtuve el siguiente error: dpkg: warning: package not in database y la forma de solucionarlo, fue siguiendo este ...

Automatizar proceso en screen 2

Uno de mis programas favoritos para administrar servidores es screen pues permite multiplexar una terminal como si fuera varias terminales (ventanas de comandos); es decir que luego de establecer una conección al servidor (mediante SSH) se pueden poner a correr varios programas como si se tuviera varias conexiones establecidas a la vez. Además se puede salir ...

Copiar base de datos MySQL de un servidor a otro 2

Tengo un servidor en producción por allá en la nube y quiero tener otra réplica (asincrónica) de algunas bases de datos MySQL. Buscando la solución más sencilla y rápida llegue a este script que se ejecuta en el servidor de réplica y que trae la base de datos remota y la deja activa en el ...

Debug lighttpd magnet lua script 1

El servidor web lighttpd mediante su módulo magnet (mod_magnet) permite incorporar la funcionalidad del lenguaje lua para el manejo las peticiones al servidor. La siguiente porción de código se puede incorporar al final del script lua para conocer cómo será recibida la petición para ser servida: print(«>>>>> parts of the URI») print(«request.uri: » .. lighty.env[«request.uri»]) ...