Está en la página 1de 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últiples sistemas simultáneamente desde una computadora sin loggear directamente en las
máquinas. También veremos conceptos básicos 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 accedemos de manera remota (esto significa que no proporcionaremos un
password) para administrar a una computadora. Cuando queremos acceder a múltiples 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 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.

También podría gustarte