GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Errore chiave Ssh non valido in Juju quando lo si utilizza con Maas?

Questo è l'output di juju da un'installazione pulita con 2 nodi che eseguono tutti il ​​bootstrap 12.04 juju:termina senza errori e alloca la macchina all'utente ma ancora senza gioia dopo la distruzione e la ricostruzione dell'ambiente juju con utenti diversi e nodi diversi.

[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
  • Ho provato numerosi modi per creare le chiavi con ssh-keygen -t rsa -b 2048, ssh-keygen -t rsa, ssh-keygen e ho provato ad aggiungerli alla pagina di configurazione web MAAS, ma ottengo sempre il stesso risultato.
  • In seguito ho aggiunto la chiave pubblica appropriata a ~/.ssh/authorized_keys
  • Posso anche inviare un ssh al nodo, ma poiché non mi è stato chiesto di fornirgli un nome utente o una password o di configurare alcun tipo di account, non posso inviare manualmente un ssh nel nodo. La configurazione del nodo è tutta gestita dal server maas. Sembra un semplice errore di guardare la chiave sbagliata o cercare nei posti sbagliati, solo altri suggerimenti che posso trovare sono distruggere l'ambiente e ricostruire (ma non ha funzionato mille volte) o lasciarlo per costruire l'istanza una volta che il nodo si è acceso, ma ho lasciato per alcune ore e ho lasciato durante la notte per costruire senza fortuna.

Risposta accettata:

La soluzione che ho trovato è impostare una password per i nodi appena avviati, quindi inserire manualmente le chiavi SSH in ciascuno di essi. Per impostare una password di avvio per l'utente Ubuntu, assicurati che le seguenti righe su /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 volta fatto, puoi ssh [email protected] e utilizzare la password specificata nella stringa della password crittografata (il modo più semplice è usarne una da un file /etc/shadow che già conosci) per accedere. Puoi quindi inserire il tuo SSH chiavi pubbliche in ~ubuntu/.ssh/authorized_keys e ~root/.ssh/authorized keys.

Correlati:problemi con GPU Nvidia e Ubuntu 16.04?

Nota che questa è una soluzione alternativa:una volta eseguito ssh-keygen, MaaS dovrebbe estrarre id_rsa.pub dalla directory .ssh o dalla WebUI MaaS, dove l'utente può specificare una chiave pubblica nel suo profilo. Indipendentemente da ciò che ho provato, queste chiavi non vengono propagate, quindi ho escogitato una soluzione alternativa.

Un ulteriore trucco consiste nell'aggiungere semplicemente la chiave .pub ai .ssh/authorized_keys del tuo nodo MaaS e quindi scp su ciascuno dei nodi nel 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

Ciò ti consente di accettare ripetutamente gli errori del certificato SSH e digitare la password nella stringa crittografata per popolare l'intero MaaS con la chiave pubblica SSH.


Ubuntu
  1. SSH senza password che utilizza coppie di chiavi pubblica-privata

  2. SSH – Generazione e utilizzo di chiavi ssh

  3. Errore nell'utilizzo di GRANT con IDENTIFIED by password in MySQL

  4. Connettiti a un server utilizzando SSH su Linux o Mac OS X

  5. Errore durante l'utilizzo dell'helper delle credenziali Git con gnome-keyring come Sudo

Come utilizzare l'autenticazione a chiave pubblica con SSH

Imposta nuovo utente e autenticazione chiave SSH. usando Ansible su Ubuntu 18.04

Gestione delle chiavi SSH con privacyIDEA

Come utilizzare una chiave SSH con utenti non root

Come impostare l'autenticazione basata su chiave Ssh per Github utilizzando il file ~/.ssh/config?

Genera chiavi RSA con SSH usando PuTTYgen