Artículos Etiquetados ‘Tips’

SSH Master Password

4 Diciembre 2010

Introducción

SSH Master Password es una idea que surge del problema de tener que memorizar o apuntar la contraseña de varios servidores. El tener las contraseñas apuntadas en un block de notas o en un correo electrónico resulta pesado e inseguro.

El problema

Estos scripts cubren los siguientes problemas:

  • No escribir la contraseña de cada servidor para poder loguearse: Almacena los usuarios, dirección de servidor y contraseñas en un archivo de configuración.
  • Tener las contraseñas en texto plano: Las contraseñas están encriptadas.
  • Memorizar múltiples contraseñas: Las contraseñas son encriptadas con una o varias llaves.
  • Restricción para usar una llave ssh previamente compartida.

Dependencias

Los scripts tienen las siguientes dependencias:

  • Expect: Permite interactuar automáticamente con el programa ssh.
  • OpenSSL: Encripta y desencripta las contraseñas.

Expect Script masterssh

#!/usr/bin/expect -f
set user [lrange $argv 0 0]
set alias [lrange $argv 1 1]
set mypassword [exec getfrommasterpassword.sh $alias $user]
set host [lindex $mypassword 0]
set password [lindex $mypassword 1]
set timeout -1
match_max 100000
spawn /usr/bin/ssh $user@$host
expect {
        "yes?no" {
                send -- "yes\r"
                exp_continue
        }
        "password" {
                send -- "$password\r"
        }
}
send -- "\r"
interact

Script getfrommasterpassword.sh

#!/bin/bash
cd `dirname "$0"`
HOST_ALIAS=$1
HOSTS_FILE=${3:-"~/.passwords.txt"}
USERNAME=${2:-"root"}
LINEMATCH=$(egrep "^$HOST_ALIAS " "$HOSTS_FILE" | grep "$USERNAME")
HOST=$(echo $LINEMATCH | awk '{print $3}')
PASSWORD=$(echo $LINEMATCH | awk '{print $4}')
PASSWORD=$(echo "$PASSWORD"|openssl des -d -a )
echo $HOST $PASSWORD

Ejmplo passwords.txt

#alias usuario ip/hostname PasswordEncriptado
servidor1 root 192.168.100.1 U2FsdGVkX1/N1E4jydOhGb9S8KXBuhocQnE1PD5ddAM=
servidor2 root 192.168.100.2 U2FsdGVkX1+AaGic90We22DzNfb2HJRll2xlWPsvbuA=
servidor3 otro nomb.comp.com U2FsdGVkX1+BZ90Go6zEOcgKnjUylJXvwAu9W/QjulI=

Encriptar las contraseñas

Para encriptar el password que se usa en un servidor (<MIPASSWORD>) con la llave <MILLAVE>, bastará ejecutar en la línea de comando:

openssl des -e -a -A -k "<MILLAVE>" <<< "<MIPASSWORD>"

El output de ese comando es <MIPASSWORD> encriptado, y es el que se usa en el archivo de passwords.

Instalación y uso

  • Crear los dos scripts en ~/bin/
  • Crear y modificar el archivo ~/.passwords.txt con las contraseñas encriptadas.
  • Uso: masterssh <USUARIO> <ALIAS>
  • Nota: <USUARIO> y <ALIAS> deben existir en el archivo de passwords.

El perfil de un especialista en software libre en el mundo real

26 Agosto 2010

El mes pasado, a pedido del área de Gestión de Proyectos en Antartec, tuve que enviar una serie de datos acerca de las labores diarias que realizo como Especialista Open Source. Mientras recopilaba información se me vinieron estas preguntas a la mente: ¿cómo explicarle a la gente lo que hacemos en Antartec?, ¿qué debes buscar en un conocedor en tecnologías libres para la empresa?, ¿qué necesitas para llegar a ser uno?.

Trabajando en Antartec (2008)

En líneas generales, un especialista en software libre se dedica a investigar, implantar y elaborar documentación funcional y técnica relacionada a tecnologías (generalmente tecnologías colaborativas de nivel empresarial) basadas en software libre y abierto, así como sugerir y elaborar mejoras o correcciones acorde a las necesidades de una o varias organizaciones.

Lo anterior no quita que la persona tenga una labor en particular a la cual se dedique, o un área que más domine, por ejemplo:

» Leer más: El perfil de un especialista en software libre en el mundo real

4 consejos después de implantar software libre

14 Julio 2010

Como fin de la serie Consideraciones de un proyecto de implantación de software libre, hoy se sustentan aquellos puntos posteriores a la instalación de software libre en una empresa u organización.

Después de implementación

Finalmente se consiguió desplegar una solución completa basada en software libre para una empresa y ya está lista para su uso. Sin embargo, el trabajo no ha terminado: hace falta el valor agregado que le puedes dar a tu solución, más allá de la habilidad técnica para instalar y configurar:

  • Entregar documentación explicativa de la solución desplegada: Generalmente la empresa contratante cuenta con personal de sistemas que estará a cargo en primera instancia de la solución implementada, y que requerirá conocer al menos detalles básicos de la implementación realizada. Esto les servirá también en el caso en que requieran replicar la solución en otro ambiente o necesiten modificaciones.

» Leer más: 4 consejos después de implantar software libre

5 consejos al momento de implantar software libre

7 Julio 2010

Tal como habíamos adelantado en el artículo anterior sobre consejos antes de implantar software libre, hoy continuamos la serie de recomendaciones a tener en cuenta en proyectos de implantación de soluciones libres. En esta ocasión centraremos nuestro interés en aquellas consideraciones que se deben prestar atención durante el tiempo en el cual se va a realizar la instalación de software libre en una organización empresarial.

Durante la implementación de software libre

Una vez que las conversaciones con los interesados en contar con soluciones libres han llegado a buen puerto y el proyecto ha obtenido luz verde , hay algunos puntos que deben observarse cuidadosamente durante el proyecto de implantación de software libre:

  • Reunirse con el cliente y explicar el proceso a realizar: Una vez iniciado el proyecto, esta reunión permitirá brindar mayores alcances de las tareas a realizar, definir fechas concretas en que personal de la empresa proveedora requerirá presentarse en la empresa cliente a efectos de realizar labores de instalación y configuración, así como absolver consultas adicionales de ambas partes.

» Leer más: 5 consejos al momento de implantar software libre

7 consejos antes de implantar software libre

30 Junio 2010

En El Mundo es Open Source hemos dedicado varios artículos a soluciones de software libre y abierto que pueden desplegarse en organizaciones y empresas: sistemas de colaboración, gestión documentaria, aulas virtuales, administración de relaciones con clientes, etcétera.

Sin embargo, como en todo proyecto de implantación de una nueva solución informática, la incorporación de una solución de software libre requiere tener presente varios factores que nos permitan obtener resultados satisfactorios para el grupo de personas que realiza la migración, el área de sistemas de la empresa y, más importante aún, los usuarios finales que tendrán que lidiar con el nuevo sistema informático.

Con este artículo damos inicio a una serie de recomendaciones generales a tener presente antes, durante y después de la implantación de una solución informática basada en software libre. Estas consideraciones están basadas en la experiencia que hemos conseguido en los últimos años en la materia con nuestros clientes.

» Leer más: 7 consejos antes de implantar software libre