Skip to content

Configurar parallel ssh de una red local (Linux)

Bartomeu edited this page May 21, 2014 · 22 revisions

Preparación PC del administrador

(Todos los comandos se realizan con el usuario root)

Lo primero que debemos hacer es instalar los paquetes pssh y ssh: apt-get -y install pssh ssh

Una vez instalados debemos crear claves de cifrado privadas y públicas. Para ello utilizaremos el comando ssh-keygen

Nos preguntará si deseamos crear la clave en el fichero /root/.ssh/id_rsa.pub le damos a enter

Luego preguntará una passphrase y la confirmación, le damos a enter dos veces para no introducir ninguna.

Ya tenemos creadas las claves privadas y públicas, ahora debemos enviar la clave pública a cada uno de los PC's que queremos que ejecuten comandos de forma paralela. Para ello enviaremos mediante scp a las máquinas.

Accedemos al directorio donde se encuentra cd ~/.ssh/

Ejecutamos este comando para cada IP de las máquinas scp id_rsa.pub root@172.19.33.10:~/.ssh

La clave pública de la máquina del PC de administrador ya se encuentran en las máquinas clientes.

Preparación de los PC's

En los PC's a los que queremos enviar comandos por parallel-ssh debemos instalar el paquete ssh con el siguiente comando: apt-get -y install ssh

Una vez que tenemos la clave pública del PC de administrador, debemos ejecutar los siguientes comandos como root:

cd ~/.ssh

cat id_rsa.pub > authorized_keys2

cat id_rsa.pub > authorized_keys

chmod 640 authorized_keys authorized_keys2

rm known_hosts

exit

Esto creará dos ficheros que en principio son las claves autorizadas a mandar comandos de parallel a las máquinas.

Debemos realizar estos comandos una vez hemos pasado el fichero id_rsa.pub a cada máquina, y desde cada máquina ejecutar los comandos anteriores. El comando "rm" simplemente es para eliminar los posibles residuos de otros accesos al pc, también es recomendable borrar todo el contenido del directorio ~/.ssh perteneciente a "usuari".

Una vez realizados los pasos anteriores, desde el pc Administrador realizaremos una conexión ssh para cada pc, para asegurarnos de que en futuras conexiones no nos pida la autentificación y ésta quede añadida en el archivo autogenerado "known_hosts" que borramos previamente.

ssh usuari@172.19.33.XX XX ip de cada PC

yes en el moento de pedir la autentificación

Por último comprobar que se ha realizado correctamente la configuración con

sudo parallel-ssh -h /root/pssh_hosts "modprobe pcspkr;sh /root/StarWars.sh;modprobe -r pcspkr"

Nota: El fichero /root/pssh_hosts _contiene todas las IPs de las maquinas que queremos que ejecuten en paralelo _

Scripts útiles

En la carpeta scripts del repositorio están colgados los diferentes scripts usados por los administradores para facilitar tareas. ( encendido de PCs, apagado, enviar mensajes, etc )

Clone this wiki locally