Cómo lograr un inicio de sesión ssh sin contraseña entre dos nodos cualesquiera en un clúster de servidores

Cómo lograr un inicio de sesión ssh sin contraseña entre dos nodos cualesquiera en un clúster de servidores

Encontré un problema sobre cómo lograr un inicio de sesión sin contraseña entre dos nodos cualesquiera en un clúster de servidores. Ahora tengo un clúster de servidores que consta de 10 nodos con las siguientes direcciones IP:

192.168.0.1 # node1
192.168.0.2 # node2
...
192.168.0.10 # node10

Mi nombre de usuario en estos tres nodos es all xyz, y el sistema en estos nodos es all Ubuntu14.04.

Esta parece ser una pregunta canónica y debería haberse respondido en muchos lugares, pero mi búsqueda en Google solo me dice la solución para dos nodos. Por ejemplo, pase la clave pública generada node1al authorized_keysarchivo node2, ..., node10para permitir el inicio de sesión sin contraseña desde node1el resto de nodos. Pero, ¿cómo escalar este método a dos nodos cualesquiera en un clúster de servidores? ¿Deberíamos generar manualmente la clave pública en cada nodo y copiar la clave pública de cada nodo al resto de los nodos? ¿Existe un método general y conveniente?

Respuesta1

Si tiene una configuración de clúster, probablemente tenga un sistema de archivos compartido. Si es así, puede simplemente agregar la clave SSH al servidor. Si se conecta a otro servidor, encontrará su propia clave en la lista de claves autorizadas. Luego podrá conectarse desde cualquier servidor a cualquier servidor.

En caso de que tengan diferentes sistemas de archivos, deberá hacerlo manualmente. O crea una nueva clave SSH para el xyzusuario y ssh-copy-idpara cada uno de los demás servidores. Esto escala como N² con la cantidad de servidores, eso no está bien.

Puede generar una clave SSH y copiarla en todas las máquinas a /home/xyz/.ssh/id_rsay id_rsa.pub. Luego registre esta clave con toda la máquina. Ahora puede iniciar sesión desde cualquier servidor en cualquier otro servidor utilizando la misma clave SSH.

Para implementar esto, escribiría un script rápido que use scpun forbucle para iterar a través de los servidores.

información relacionada