Pagina 1 di 1

file .pem perso e vari altri problemi

Pubblicato: 5 maggio 2015 - 10:03
di Alan
Buongiorno,

Ho installato WAPT sui miei 700 computer e tutto ha funzionato finché il mio file .pem non è andato perso (il disco rigido si è bloccato e ho dimenticato di fare un backup) :? ).

Quindi, la mia prima idea è stata quella di reinstallare una workstation con la console, generare una nuova coppia di chiavi e quindi un nuovo agente che avrei distribuito per sostituire quello vecchio.

Di conseguenza, nella mia console vedo ancora tutti i vecchi client che non posso assolutamente controllare o eliminare.

Quando ho formattato una workstation e ho provato a reinstallare manualmente il client tramite waptdeploy, ho ottenuto questo risultato:
Immagine

E quando si installa manualmente l'agente, questo non appare nella console (è ancora il vecchio client con lo stesso nome con l'ultimo aggiornamento di aprile).
Un comando wapt-get register restituisce:

Codice: Seleziona tutto

2015-05-05 10:14:50,631 CRITICAL Unable to delete param uuid
FATAL ERROR : OperationalError: attempt to write a readonly database
E così sulla console ricevo sempre il messaggio: HTTP/1.1 404 NOT FOUND quando provo a intervenire su un client.

Ammetto che ora sono completamente perso e non ho idea di come uscirne... È possibile recuperarlo?

Grazie in anticipo.

Le mie versioni:
Versione del server WAPT: 1.2.3
Versione dell'agente WAPT: 1.1.1
Versione di installazione WAPT: 1.1.1
Versione di distribuzione WAPT: 1.2.3.0

Re: File .pem perso e vari problemi

Pubblicato: 6 maggio 2015 - 18:10
di htouvet
1 - Per quanto riguarda il problema della versione di waptdeploy: a quanto pare, waptsetup.exe e waptagent.exe sono alla versione 1.1.
Se si tratta di un server Linux, installare il pacchetto tis-waptsetup dalla console.
Sulla macchina di amministrazione, verificare inoltre di avere la versione 1.2.3 come sul server. In caso contrario, installare la versione 1.2.3 da http://wapt.tranquil.it/wapt/waptsetup.exe.

Dalla console, ricompilare l'agente Wapt in modo che il server abbia una versione di Waptagent 1.2.3 con la chiave pubblica corretta.
A quel punto Waptdeploy dovrebbe funzionare.

2 - Sarà necessario firmare nuovamente tutti i pacchetti e tutte le configurazioni delle macchine client (che sono anch'esse pacchetti).

Per firmare nuovamente un pacchetto (dopo aver configurato correttamente il file wapt-get.ini con la nuova chiave privata),
per ogni pacchetto eseguire i seguenti comandi:
`wapt-get edit packagename` e
`wapt-get -i build-upload c:\waptdev\wapt-packagename`.

Per firmare nuovamente le macchine:
aprire la macchina nella console e salvare la configurazione.

Esiste un metodo più pulito che utilizza uno script Python... (vedere https://github.com/tranquilit/WAPT/blob ... l_hosts.py )

Re: File .pem perso e vari problemi

Pubblicato: 7 maggio 2015 - 10:16
di Alan
Grazie per il feedback.

Ho effettivamente scaricato la versione 1.2.3 di waptsetup dal vostro sito web.

Tuttavia, non ho ben capito come firmare nuovamente le workstation. Come faccio a salvare la configurazione?

Infine, se elimino "la macchina e il relativo pacchetto di configurazione" dalla console, questa azione è permanente o la macchina ricomparirà al mio prossimo accesso?

Grazie in anticipo.

Re: File .pem perso e vari problemi

Pubblicato: 7 maggio 2015 - 12:23
di htouvet
Per dimettere i pacchetti macchina, un piccolo script come bonus... che mostra anche come creare script con un client wapt. ;)

sulla macchina di gestione (con la chiave di firma privata private_key inserita in c:\apt\apt-get.ini)
Crea il file Python:
c:\wapt\resign.py

Codice: Seleziona tutto

#!/usr/bin/python
# -*- coding: utf-8 -*-

import os
import tempfile
import shutil
from setuphelpers import *
from common import *

class TempDir():
    def __init__(self):
        self.path = None

    def __enter__(self):
        self.path = tempfile.mkdtemp()
        return self.path

    def __exit__(self, exc, value, tb):
        if os.path.isdir(self.path):
            shutil.rmtree(self.path)

wapt = Wapt()

# un object qui represente le depot des paquets machine
hosts = WaptRepo('hosts',wapt.repositories[0].repo_url+'-host')
hosts.load_packages()

# mot de passe du serveur wapt pour uploader les paquets
password = 'xxxx'

for p in hosts.packages:
    with TempDir() as tmpdir:
        try:
            print('resignature de %s dans %s'%(p.package,tmpdir))
            if p.section == 'host':
                res = wapt.edit_host(p.package,use_local_sources=False,target_directory=tmpdir)
            else:
                res = wapt.edit_package(p.package,use_local_sources=False,target_directory=tmpdir)
            wapt.build_upload(res['source_dir'],
                wapt_server_user='admin',
                wapt_server_passwd=password,
                inc_package_release=True)
        except Exception as e:
            print('Erreur pour %s: %s'%(p.package,e))

per lanciare con:
c:\wapt\waptpython c:\wapt\resign.py

Re: File .pem perso e vari problemi

Pubblicato: 7 maggio 2015 - ore 15:00
di htouvet
Se si "elimina la macchina", questa viene rimossa dall'inventario, ma se la macchina esiste ancora fisicamente e wapt punta al server, verrà registrata nuovamente alla successiva comunicazione. Inoltre, se esiste un pacchetto con il suo nome e non è ancora stato installato, verrà installato al successivo aggiornamento.

Se si elimina "la macchina e il relativo pacchetto di configurazione", oltre a eliminare le informazioni di inventario, viene eliminato anche il relativo pacchetto (memorizzato nel repository http://mywaptserver.mydomain/wapt-h ... maine.wapt ).

Esistono infatti due elementi distinti:
- le informazioni sullo stato di inventario/distribuzione, che l'agente wapt sulla macchina client trasmette al server al termine di ogni aggiornamento. Questo avviene solo se è presente la riga "wapt_server=" nel file wapt-get.ini.
- Il pacchetto della macchina: che l'agente wapt sulla macchina client recupera dal repository (utilizzando il nome del pacchetto come FQDN) a ogni aggiornamento per sapere cosa installare. Questa operazione viene eseguita solo se nel file wapt-get.ini è specificato "use_hostpackages=1".