Archivo .pem perdido y varios otros problemas

Preguntas sobre el servidor WAPT / Solicitudes y ayuda relacionadas con el servidor WAPT
Reglas del foro
Reglas del foro de la comunidad
* Soporte en inglés en www.reddit.com/r/wapt
* El soporte de la comunidad en francés está disponible en este foro
* Por favor, anteponga [RESUELTO] al título del tema si está resuelto.
* Por favor, no edite un tema que esté etiquetado como [RESUELTO]. Abra un nuevo tema haciendo referencia al anterior.
* Especifique la versión de WAPT instalada, la versión completa y el número de compilación (2.2.1.11957 / 2.2.2.12337 / etc.), así como la edición Enterprise/Discovery.
* Las versiones 1.8.2 y anteriores ya no son compatibles. Las únicas preguntas aceptadas sobre la versión 1.8.2 están relacionadas con la actualización a una versión compatible (2.1, 2.2, etc.).
* Especifique el sistema operativo del servidor (Linux/Windows) y la versión (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Especifique el sistema operativo de la máquina de administración/creación de paquetes y de la máquina con el agente problemático, si corresponde (Windows 7/10/11/Debian 11/etc.).
* Evite hacer varias preguntas al abrir un tema, ya que podría ser ignorado. Si hay varios temas, ábralos por separado, preferiblemente uno tras otro y no todos a la vez (es decir, no sature el foro con spam).
* Incluya fragmentos de código, capturas de pantalla y otras imágenes directamente en la publicación. Los enlaces a Pastebin, Bitly y otros sitios de terceros serán eliminados sistemáticamente.
* Como en cualquier foro comunitario, el soporte es proporcionado voluntariamente por los miembros. Si necesita soporte comercial, puede comunicarse con el departamento de ventas de Tranquil IT al 02.40.97.57.55.
Bloqueado
Alan
Mensajes: 5
Inscripción: 5 de mayo de 2015 - 09:53

5 de mayo de 2015 - 10:03

Buen día,

Instalé WAPT en mis 700 máquinas y todo funcionó hasta que se perdió mi archivo .pem (falló el disco duro y olvidé hacer una copia de seguridad) :? ).

Entonces, mi primera idea fue reinstalar una estación de trabajo con la consola, generar un nuevo par de claves y, por lo tanto, un nuevo agente que implementaría para reemplazar al antiguo.

Pero, como resultado, en mi consola todavía veo todos los clientes antiguos que no puedo controlar ni eliminar.

Cuando formateé una estación de trabajo e intenté reinstalar manualmente el cliente a través de waptdeploy, esto es lo que obtuve:
Imagen

Y al instalar manualmente el agente, no aparece en la consola (sigue siendo el antiguo cliente del mismo nombre con la última actualización de abril).
Un comando wapt-get register devuelve:

Código: Seleccionar todo

2015-05-05 10:14:50,631 CRITICAL Unable to delete param uuid
FATAL ERROR : OperationalError: attempt to write a readonly database
Y entonces en la consola siempre me aparece el mensaje: HTTP/1.1 404 NO ENCONTRADO cuando intento realizar una intervención en un cliente.

Admito que ahora estoy completamente perdido y no tengo idea de cómo salir de esto... ¿Se puede salvar?

Gracias de antemano.

Mis versiones:
Versión del servidor WAPT: 1.2.3
Versión del agente WAPT: 1.1.1
Versión de configuración de WAPT: 1.1.1
Versión de implementación de WAPT: 1.2.3.0
Última edición realizada por Alan el 5 de mayo de 2015 a las 11:16, editado 1 vez.
Avatar de usuario
htouvet
Experto en WAPT
Mensajes: 436
Inscripción: 16 de marzo de 2015 - 10:48
Contacto :

6 de mayo de 2015 - 18:10

1 - Respecto al problema de la versión de waptdeploy: Aparentemente, waptsetup.exe y waptagent.exe están en la versión 1.1.
Si es un servidor Linux, instale el paquete tis-waptsetup desde la consola.
En la máquina de administración, verifique también que esté en la versión 1.2.3 como el servidor. Si no, instale la versión 1.2.3 desde http://wapt.tranquil.it/wapt/waptsetup.exe.

Desde la consola, vuelva a compilar el agente Wapt para que el servidor tenga una versión de Waptagent 1.2.3 con la clave pública correcta.
Waptdeploy debería funcionar entonces.

2- Deberá volver a firmar todos los paquetes y todas las configuraciones de la máquina cliente (que también son paquetes).

Para volver a firmar un paquete (después de haber configurado correctamente su wapt-get.ini con la nueva clave privada),
para cada paquete:
`wapt-get edit packagename` y
`wapt-get -i build-upload c:\waptdev\wapt-packagename`.

Para volver a configurar las máquinas:
abre la máquina en la consola y guarda la configuración.

Existe un método más limpio mediante un script de Python... (ver https://github.com/tranquilit/WAPT/blob ... l_hosts.py )
TI tranquila
Alan
Mensajes: 5
Inscripción: 5 de mayo de 2015 - 09:53

7 de mayo de 2015 - 10:16

Gracias por la información.

Efectivamente, descargué la versión 1.2.3 de waptsetup desde su sitio web.

Sin embargo, no entendí bien cómo volver a firmar las estaciones de trabajo. ¿Cómo guardo la configuración?

Y, por último, si elimino "la máquina y su paquete de configuración" desde la consola, ¿esta acción es permanente o la máquina volverá a aparecer la próxima vez que me comunique?

Gracias de antemano.
Avatar de usuario
htouvet
Experto en WAPT
Mensajes: 436
Inscripción: 16 de marzo de 2015 - 10:48
Contacto :

7 de mayo de 2015 - 12:23

Para resignar paquetes de la máquina, un pequeño script como bonus... que también muestra cómo scriptear con un cliente wapt. ;)

en la máquina de administración (con la clave de firma privada private_key ingresada en c:\apt\apt-get.ini)
Crea el archivo Python:
c:\wapt\resign.py

Código: Seleccionar todo

#!/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))

Para lanzar con:
c:\wapt\waptpython c:\wapt\resign.py
TI tranquila
Avatar de usuario
htouvet
Experto en WAPT
Mensajes: 436
Inscripción: 16 de marzo de 2015 - 10:48
Contacto :

7 de mayo de 2015 - 15:00 horas

Si "elimina la máquina", esto elimina la máquina del inventario, pero si la máquina aún existe físicamente con wapt apuntando al servidor, se volverá a registrar en la siguiente comunicación. Y si existe un paquete con su nombre y aún no lo ha instalado, instalará el paquete de la máquina en la siguiente actualización.

Si elimina "la máquina y su paquete de configuración", además de eliminar la información del inventario, esto también elimina su paquete (almacenado en el repositorio http://mywaptserver.mydomain/wapt-h ... maine.wapt ).

De hecho, hay dos cosas distintas:
- la información de estado de inventario/implementación, que el agente wapt en la máquina cliente transmite al servidor al final de cada actualización (upgrade). Esto solo se hace si hay una línea "wapt_server=" presente en wapt-get.ini.
- El paquete de la máquina: que el agente wapt en la máquina cliente recupera del repositorio (usa el nombre del paquete como su FQDN) con cada actualización para saber qué instalar. Esto solo se realiza si se especifica "use_hostpackages=1" en wapt-get.ini.
TI tranquila
Bloqueado