GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Error de clave Ssh no válida en Juju cuando se usa con Maas?

Esta es la salida de juju de una instalación limpia con 2 nodos, todos ejecutando 12.04 juju bootstrap:finaliza sin errores y asigna la máquina al usuario, pero aún no disfruta después del entorno de juju:destruye y reconstruye con diferentes usuarios y diferentes nodos.

[email protected]:/storage# juju -v  status
2012-06-07 11:19:47,602 DEBUG Initializing juju status runtime
2012-06-07 11:19:47,621 INFO Connecting to environment...
2012-06-07 11:19:47,905 DEBUG Connecting to environment using node-386077143930...
2012-06-07 11:19:47,906 DEBUG Spawning SSH process with remote_user="ubuntu" remote_host="node-386077143930" remote_port="2181" local_port="57004".
The authenticity of host 'node-386077143930 (10.5.5.113)' can't be established.
ECDSA key fingerprint is 31:94:89:62:69:83:24:23:5f:02:70:53:93:54:b1:c5.
Are you sure you want to continue connecting (yes/no)? yes
2012-06-07 11:19:52,102 ERROR Invalid SSH key
2012-06-07 11:19:52,426:18541(0x7feb13b58700):[email protected][email protected]: Client environment:zookeeper.version=zookeeper C client 3.3.5
2012-06-07 11:19:52,426:18541(0x7feb13b58700):[email protected][email protected]: Client environment:host.name=cloudcontrol
2012-06-07 11:19:52,426:18541(0x7feb13b58700):[email protected][email protected]: Client environment:os.name=Linux
2012-06-07 11:19:52,426:18541(0x7feb13b58700):[email protected][email protected]: Client environment:os.arch=3.2.0-23-generic
2012-06-07 11:19:52,426:18541(0x7feb13b58700):[email protected][email protected]: Client environment:os.version=#36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012
2012-06-07 11:19:52,428:18541(0x7feb13b58700):[email protected][email protected]: Client environment:user.name=sysadmin
2012-06-07 11:19:52,428:18541(0x7feb13b58700):[email protected][email protected]: Client environment:user.home=/root
2012-06-07 11:19:52,428:18541(0x7feb13b58700):[email protected][email protected]: Client environment:user.dir=/storage
2012-06-07 11:19:52,428:18541(0x7feb13b58700):[email protected][email protected]: Initiating client connection, host=localhost:57004 sessionTimeout=10000 watcher=0x7feb11afc6b0 sessionId=0 sessionPasswd=<null> context=0x2dc7d20 flags=0
2012-06-07 11:19:52,429:18541(0x7feb0e856700):[email protected][email protected]: Socket [127.0.0.1:57004] zk retcode=-4, errno=111(Connection refused): server refused to accept the client
2012-06-07 11:19:55,765:18541(0x7feb0e856700):[email protected][email protected]: Socket [127.0.0.1:57004] zk retcode=-4, errno=111(Connection refused): server refused to accept the client
  • He intentado numerosas formas de crear las claves con ssh-keygen -t rsa -b 2048, ssh-keygen -t rsa, ssh-keygen, y he intentado agregarlas a la página de configuración web de MAAS, pero siempre obtengo la mismo resultado.
  • Agregué la clave pública apropiada después a ~/.ssh/authorized_keys
  • También puedo usar SSH en el nodo, pero como no me han pedido que le dé un nombre de usuario o una contraseña ni que configure ningún tipo de cuenta, no puedo usar SSH manualmente en el nodo. La configuración del nodo es manejada por el servidor maas. Parece un simple error de mirar la clave incorrecta o buscar en los lugares equivocados, solo otras sugerencias que puedo encontrar son destruir el entorno y reconstruir (pero eso no funcionó incontables veces ahora) o dejarlo para construir la instancia una vez que el nodo se encendió, pero me fui por unas horas y dejé toda la noche para construir sin suerte.

Respuesta aceptada:

La solución que se me ocurrió es establecer una contraseña para los nodos recién iniciados y luego insertar manualmente las claves SSH en cada uno de ellos. Para establecer una contraseña de inicio para el usuario de ubuntu, asegúrese de que las siguientes líneas se encuentren en /var/lib/cobbler/kickstarts/maas.preseed:

d-i    passwd/make-user boolean true
d-i    passwd/user-fullname ubuntu
d-i    passwd/username string ubuntu
d-i    passwd/user-password-crypted password <CRYPTED PASSWORD>

Una vez hecho esto, puede usar ssh [email protected] y usar la contraseña especificada en la cadena de contraseña cifrada (la forma más fácil es usar una de un archivo /etc/shadow que ya conoce) para iniciar sesión. Luego puede insertar su SSH claves públicas en ~ubuntu/.ssh/authorized_keys y ~root/.ssh/authorized keys.

Relacionado:¿Problemas con GPU Nvidia y Ubuntu 16.04?

Tenga en cuenta que esta es una solución alternativa:una vez que ssh-keygen, MaaS debería extraer el id_rsa.pub de su directorio .ssh o de MaaS WebUI, donde el usuario puede especificar una clave pública en su perfil. Independientemente de lo que haya intentado, estas claves no se propagan, así que se me ocurrió la solución alternativa.

Otro truco es simplemente agregar la clave .pub al .ssh/authorized_keys de su nodo MaaS y luego enviarlo a cada uno de los nodos en MaaS:

for i in `cobbler system list |grep -v default`; 
    do j=`cobbler system dumpvars --name "${i}" | grep hostname |grep -v duplicate |cut -f 2 -d \:`; 
    scp ~/.ssh/authorized_keys [email protected]${j}:.ssh/authorized_keys;
done

Esto le permite aceptar repetidamente los errores del certificado SSH y escribir la contraseña en la cadena cifrada para completar todo su MaaS con la clave pública SSH.


Ubuntu
  1. Cómo generar un par de claves SSH (con ejemplos)

  2. SSH sin contraseña usando pares de claves públicas y privadas

  3. SSH:generar y trabajar con claves ssh

  4. Error al usar GRANT con IDENTIFICADO por contraseña en MySQL

  5. Primeros pasos con SSH en Linux

Cómo utilizar la autenticación de clave pública con SSH

Configurar nuevo usuario y autenticación de clave SSH. usando Ansible en Ubuntu 18.04

Gestión de claves SSH con privacyIDEA

Cómo usar una clave SSH con usuarios no root

¿Cómo configurar la autenticación basada en clave Ssh para Github usando el archivo ~/.ssh/config?

Genere claves RSA con SSH usando PuTTYgen