Administrar máquinas con Linux a través de la interfaz de comandos tiene la ventaja de poder replicar las tareas y llevarlas a cabo en varias máquinas sin mucha intervención humana, es decir, se puede automatizar en cierta medida; en este documento se ofrecerán scripts a partir de los cuáles se puede hacer administración remota de máquinas de forma ágil.

Si usted ha usado alguna vez apt-get en una sola máquina para instalar o eliminar paquetes de Debian, puede emplear la misma técnica para instalar en otro equipo a través de ssh.

Si usted genera sus llaves pública y privada de ssh, podrá ingresar a otras máquinas a través de ssh sin tener que escribir la clave cada vez, así mismo, si va a emplear scp.

Una vez haya configurado su par de llaves, podrá probar hacer en cierta máquina :

que debería mostrar la hora en el equipo remoto sin solicitarle clave. Si esto es funcional, pase al siguiente nivel.

Obtención de scripts

Los scripts referenciados a continuación almacénelos en su carpeta bin, por otra parte si usa la interfaz de órdenes, al copiar y pegar, lo siguiente lo hará por usted. Por favor, sea muy cuidados@ con los scripts que recibe de otras personas, estúdielos y revise si le son funcionales o no antes de ejecutarlos :

 mkdir -f ~/bin ; cd ~/bin
 wget https://ikks.no-ip.info/~igor/scripts/hagaentodos.sh
 wget https://ikks.no-ip.info/~igor/scripts/copiamasiva.sh
 chmod 700 hagaentodos.sh copiamasiva.sh

Ejecución remota de comandos

Con este script podrá ejecutar comandos en otras máquinas, la idea es muy sencilla, hacer que una variable de ambiente tenga los nombres de las máquinas que va a administrar o en las que quiere ejecutar una orden y correr el script enviando como parámetro la orden en cuestión.

Por ejemplo, si desea instalar Guido Van Robot en las máquinas maquina1, maquina2, maquina3, maquina4 haría :

 export a="maquina1 maquina2 maquina3 maquina4"
 bin/hagaentodos.sh "apt-get install gvr"

Si usted cuenta con una red de computadores con caja ATX, podría apagar la red completa con comandos como los siguientes :

Una labor rutinaria es hacer apt-get update; apt-get upgrade, y esta labor es sencilla de llevar a cabo siguiendo las recomendaciones de esta página.

Copia de archivos a varias máquinas

Con este otro script podrá copiar archivos de la máquina local a varias máquinas y de esta forma configurar algunos servicios, por ejemplo, si configuró /etc/gdm/gdm.conf y desea que el login manager de gnome aparezca uniformemente en todas las máquinas que desea, podría hacer algo como lo siguiente :

 export a="est1 est2 est3 est4 est5"
 bin/copiamasiva.sh /etc/gdm/gdm.conf /etc/gdm

Para ver sus cambios desde el mismo sitio desde el cuál exportó su variable de ambiente podría aplicar

que reiniciaría el login manager con su nueva configuración.

Encender máquinas que estén apagadas

Aquellas máquinas que tienen integrada en la board la tarjeta de red, generalmente tienen la opción de encenderse por la red, asegúrese de habilitar esto en la bios, posteriormente emplearía wakeonlan o etherwake para encender la máquina una vez tenga la MAC address, por ejemplo :

Ejercicios

Qué harían las siguientes órdenes en la línea de comandos?

 wget http://www.geocities.com/arhuaco/dfd.zip
 export a="alu1 alu2 alu3 alu4 alu5"
 bin/hagaentodos.sh "apt-get install -y unzip wine;mkdir /opt/"
 bin/copiamasiva.sh dfd.zip /opt
 bin/hagaentodos.sh "cd /opt ; unzip dfd.zip ; rm dfd.zip"


Modifique los scripts para que en lugar de recibir nombres de máquinas, reciban una ip inicial y una ip final para aplicar los comandos a las máquinas o haga las copias a las máquinas respectivas.


Modifique los scripts para encender todas las máquinas dada una variable de ambiente con las mac address.

Gráficamente o ncurses

Si usted depende de synaptic o de aptitude para instalar o desinstalar paquetes, esta recomendación no es para usted, considere emplear vnc, seguramente usted tardará horas mientras que una persona que aplique lo que en esta página dice puede tardar minutos. Tiempo valioso que podría emplear para programar con python, o escribir documentación ;).

Bibliografía

CategoriaAyudas CategoriaDocumentosyExplicaciones CategoriaDebian

WikiSlec: AdministracionRemota (última edición 2006-04-21 03:06:35 efectuada por IgorTamara)