GNU/Linux >> Linux Esercitazione >  >> Linux

Come verificare che il certificato Ssh sia stato firmato dalla chiave privata Ssh Ca specificata?

Sto cercando di rafforzare la mia configurazione ssh usando questo materiale. Funziona bene, ma ho una domanda a cui faccio fatica a trovare la risposta.

Qualcuno sa se esiste un modo per controllare la firma del certificato host/utente ssh rispetto alla CA SSH? So che posso semplicemente provare a ssh in host, che contiene quel certificato host, e se si connette, la firma è ovviamente ok...
Ma sto scrivendo un'attività di automazione e ho bisogno di un modo programmatico per assicurarmi che il file del certificato è firmato da CA. Di' un po' di ssh-keygen comando o qualsiasi altra cosa.

AGGIORNAMENTO:

Come proposto da @PKapp:

Potrei confrontare due output:l'impronta digitale della firma della CA dal certificato lato server e l'impronta digitale della CA stessa

sudo ssh-keygen -L -f /etc/ssh/ssh_host_ed25519_key-cert.pub | fgrep "Signing CA" | sed 's/^[ t]*//' | cut -d ' ' -f 4
SHA256:LkdPQLdx4tuZp7pG0g6nAJqilFd6ZzjGdgVEV9elrdA

sudo ssh-keygen -l -f /etc/ssh/id_ed25519-HostCA.pub | cut -d ' ' -f 2
SHA256:LkdPQLdx4tuZp7pG0g6nAJqilFd6ZzjGdgVEV9elrdA

Se gli output filtrati sono identici, i certificati corrispondono...

Risposta accettata:

Per ottenere in remoto i certificati host ssh, puoi usare ssh-keyscan -c <hostname> (senza il -c opzione, otterrai solo le chiavi host). Per limitare a un tipo di certificato specifico, puoi includere -t type , utilizzando ssh-rsa non [email protected] , se necessario.

Quindi, puoi estrarre i dettagli del certificato, inclusa la chiave pubblica della CA di firma, con ssh-keygen -L -f <certfile> . Se usi -l (minuscolo). invece, quindi ssh-keygen restituisce solo le informazioni sulla chiave host (pubblica) sottostante incorporata nel certificato, anziché tutti gli elementi del certificato.


Linux
  1. Come configurare l'accesso SSH senza password

  2. Come generare una coppia di chiavi SSH (con esempi)

  3. Come importare la chiave privata in FileZilla per SFTP

  4. Come recuperare la chiave pubblica da una chiave privata Ssh?

  5. SSH da A a B a C, utilizzando la chiave privata su B

Come SSH stabilisce una comunicazione sicura

Come creare una passphrase chiave SSH in Linux

Come configurare la chiave pubblica e privata SSH in Linux

Come aggiungere la chiave pubblica SSH al server

Come migliorare la sicurezza SSH su Ubuntu 18.04

Come convertire la chiave privata di PuTTY (.ppk) in chiave SSH