Skip to content

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).

img_1.png 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.pub

Y, 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_keys

O edita el fichero manualmente:

vi ~/.ssh/authorized_keys

INFO

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:

bash
vi /etc/ssh/sshd_config

Busca la línea:

PermitRootLogin no

Justo encima, añade la siguiente configuración sustituyendo <IP_DE_CERTGUARDIAN> por la IP proporcionada por CertGuardian:

bash
Match Address <IP_DE_CERTGUARDIAN>
    PermitRootLogin yes

Reinicia el servicio SSH ​

Aplica los cambios reiniciando el servicio:

bash
systemctl restart sshd

Verifica 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):

bash
ssh root@<IP_DEL_SERVIDOR>

CertGuardian es una herramienta de automatización del ciclo de vida SSL/TLS desarrollada y respaldada por Entorno Digital.