Configurar parallel ssh de una red local (Linux) - AulaLinux/AulaLinux.github.io GitHub Wiki
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 [email protected]:~/.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 [email protected] 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 )