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

Chiusa
#5,622 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
20/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
php, shell
Ambito
devops, security

Direzione di ricerca

Esamina prima il PR #5621, poi confronta le automazioni esistenti SFTP e Remote Command via SSH e l’integrazione OPNsense\AcmeClient\SSHKeys. Il lavoro è completato quando il certificato e la chiave JetKVM possono essere caricati tramite una semplice sessione SSH exec, il comando opzionale post-caricamento funziona e sono coperti i requisiti documentati relativi ad archiviazione, riavvio e HTTPS Mode.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
PHP
Stelle
1.2k
Fork
905
Merge medio
4g 16h
PR unite (30g)
21

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di opnsense/plugins

Tutte le issue di opnsense/plugins

Issue simili

Altre issue su PHP

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.