SSH
CertGuardian conectarse por SSH a un servidor remoto para actualizar el certificado. El hook necesita los siguientes parámetros:
Host/IP: Dirección IP o nombre de dominio del servidor remoto.Usuario: Nombre de usuario para autenticación SSH.Puerto SSH: Puerto de conexión SSH (por defecto 22).Clave privada: Ruta del fichero de clave privada que se quiere actualizar.Certificado: Ruta del fichero de clave pública que se quiere actualizar.Certificado intermedio (chain): Ruta del fichero de cadena de certificados que se quiere actualizar (opcional).Certificado + Intermedio (fullchain): Ruta del fichero de cadena completa de certificados que se quiere actualizar (opcional).Comando post instalación: Comando para reiniciar el servidor web (por ejemplo:systemctl reload nginx).
Para permitir que CertGuardian se conecte remotamente al servidor de destino, tienes que añadir la clave pública al fichero "authorized_keys" en el servidor remoto. Extrae la clave pública de SSH con:
docker compose exec certguardian cat /var/www/certguardian/ssh-keys/id_rsa.pubY, en el servidor de destino, añade el resultado del comando anterior en el fichero "authorized_keys" del servidor de destino. *El fichero authorized_keys" se encuentra la Home del usuario.
echo "ssh-rsa AAAAB3Nz......." >> ~/.ssh/authorized_keysO edita el fichero manualmente:
vi ~/.ssh/authorized_keysINFO
El usuario necesita tener permisos de escritura en el directorio de destino y permiso para hacer un reload del servicio.
Habilitar root en entornos SSH restringidos
En algunos entornos, el acceso SSH para el usuario root está deshabilitado por motivos de seguridad. Si necesitas que CertGuardian pueda conectarse utilizando el usuario root, puedes permitir el acceso únicamente desde una IP concreta para mantener un mayor nivel de seguridad.
Edita la configuración de SSH
Abre el archivo de configuración del servidor SSH:
vi /etc/ssh/sshd_configBusca la línea:
PermitRootLogin noJusto encima, añade la siguiente configuración sustituyendo <IP_DE_CERTGUARDIAN> por la IP proporcionada por CertGuardian:
Match Address <IP_DE_CERTGUARDIAN>
PermitRootLogin yesReinicia el servicio SSH
Aplica los cambios reiniciando el servicio:
systemctl restart sshdVerifica la conexión
Comprueba que el usuario root puede conectarse correctamente desde el servidor de CertGuardian (no es necesario que sea desde dentro del contenedor de Docker de CertGuardian):
ssh root@<IP_DEL_SERVIDOR>