Sei sulla pagina 1di 2

Administración distribuida con SSH

Uso de SSH para ejecutar comandos en sistemas UNIX, con algunos scripts
sencillos, poder habilitar la administración de mútliples sistemas simultáneamente
desde una computadora sin loggear directamente en las máquinas. Tambíen
veremos conceptos basicos de un sistema de administración distribuida con
algunos scripts que usan esta técnica.

Simplificando el login remoto

La herramienta SSH proporciona métodos seguros para loggear y para


intercambiar información con un sistema remoto. Un número de herramientas
diferentes existen para este propósito, incluyendo SSH, SCP y SFTP.

Todas las herramientas anteriores son seguras y la información es


encriptada al intercambiarse con un host remoto. La autenticación es segura ya
que usa un mecanismo de llave pública o privada. Uno de los principales
beneficios de SSH es que podemos “brincar” el loggin y password copiando
nuestra llave pública en la máquina remota.

Esto de de mucha utilidad cuando accesamos de manera remota (esto


significa que no proporcionaremos un password) para administrar a una
computadora.

Cuando queremos acceder a mútiples máquinas mediante SSH sin


intercambiar nuestra llave pública, necesitamos teclear nuestro password para
cada máquina.

Una manera sencilla de crear una clave pública es de la manera siguiente:

$ssh-keygen -t rsa
Siga las instrucciones en la pantalla, pero no establezca un password, de lo
contrario se tendría que introducir el password cada vez que se quiera usar la
llave. Se crean un par de archivos que contienen una llave privada y una llave

1
pública. Ahora sólo necesita agregar el contenido de la llave pública del archivo
.ssh/id_rsa.pub dentro del archivo .ssh/authorized_keys en la máquina remota y
el usuario que queremos que ingrese al sistema. Necesitamos agregar el
contenido de la llave para cada máquina en donde deseamos ingresar de manera
automática.

Ejecutando un comando remoto

Existen muchas maneras de ejecutar un comando remoto.

Podemos ejecutar un comando remoto, agregando el comando que


queremos ejecutar después de la información del host o login. Por ejemplo, para
obtener información del disco del host remoto:

$ssh usuario@foo.com df
Hay que recordar que hay que ingresar el password si no tenemos la llave
pública en el host remoto.

También podemos ejecutar una secuencia de comandos separando cada


comando por un punto y coma (;) y rodeados de comillas:

$ssh usuario@foo.com “df; uptime”


Podemos ejecutar múltiples comandos.. solo hay que asegurarse de que
siempre se deben de rodear de comillas.