security/acme-client: add automation to upload certificate to JetKVM via SSH

Cerrado
#5,622 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
20/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
php, shell
Área
devops, security

Línea de trabajo

Revisa primero el PR #5621 y, después, compara las automatizaciones existentes SFTP y Remote Command via SSH, así como la integración OPNsense\AcmeClient\SSHKeys. Se considera terminado cuando el certificado y la clave de JetKVM se pueden cargar mediante una sesión SSH exec simple, el comando opcional posterior a la carga funciona y se cubren los requisitos documentados de almacenamiento, reinicio y HTTPS Mode.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

Is your feature request related to a problem? Please describe.

The ACME Client plugin (security/acme-client) already has automations to
deploy a renewed certificate to a remote host via SFTP or a generic SSH
command ("Upload certificate via SFTP", "Remote Command via SSH"), but
neither fits JetKVM KVM-over-IP devices well:
JetKVM's minimal userspace doesn't ship scp/an SFTP server, and there's
no existing automation tailored to where/how JetKVM expects a "Custom" TLS
certificate to be deployed.

Today, applying a fresh ACME certificate to a JetKVM device requires a
human to manually copy the cert/key over and restart the device every
renewal cycle.

Describe the solution you'd like

A new "Run Command" automation, "Upload certificate to JetKVM (SSH)", that:

  • Reuses the plugin's existing SSH key management
    (OPNsense\AcmeClient\SSHKeys) and identity/known_hosts store, shared
    with the existing SFTP/SSH automations.
  • Opens a plain SSH exec session and writes the cert/key via a small POSIX
    shell script piped over stdin (no scp/SFTP server dependency on the
    device side).
  • Defaults to JetKVM's confirmed "Custom" TLS storage path/filenames
    (/userdata/jetkvm/tls/user-defined.crt and .key), with an optional
    post-upload command (defaulting to reboot, since JetKVM has no
    hot-reload for a new "Custom" certificate) so the whole thing can run
    unattended as part of normal ACME renewal.

Describe alternatives you've considered

Reusing the existing SFTP automation was considered first, but JetKVM's
minimal userspace isn't guaranteed to include an SFTP server, so a plain
SSH-exec approach was used instead.

Additional context

I've already implemented this and opened a pull request:
#5621

That PR includes real-hardware validation notes (confirmed storage
path/filenames, confirmed reboot-to-apply behavior, confirmed the device's
"HTTPS Mode" must already be set to "Custom" before uploads take effect)
and an AI-tools disclosure per the contributing guidelines.

Lenguaje dominante
PHP
Estrellas
1.2k
Forks
909
Merge medio
4 d 19 h
PR fusionados (30 d)
21

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de opnsense/plugins

Todos los issues de opnsense/plugins

Issues similares

Más issues de PHP

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.