Generazione di chiavi SSH debian con Python (libreria paramiko)

0

Sto creando uno script python che genera chiavi SSH per l'installazione della mia scheda SD raspberry pi prima di avviare la SD per la prima volta, così posso ottenere le impronte digitali senza doverlo avviare per la prima volta per generare i tasti

/etc/ssh $ ls
moduli                ssh_host_ecdsa_key        ssh_host_key.pub
ssh_config            ssh_host_ecdsa_key.pub    ssh_host_rsa_key
sshd_config           ssh_host_ed25519_key      ssh_host_rsa_key.pub
ssh_host_dsa_key      ssh_host_ed25519_key.pub
ssh_host_dsa_key.pub  ssh_host_key

Sto usando paramiko per generare le chiavi. Ho generato DSA, RSA e ECDSA utilizzando:

paramiko.RSAKey.generate(4096)
paramiko.DSSKey.generate(2048)
paramiko.ECDSAKey.generate(bits=521)

Tuttavia, Paramiko non genererà ssh_host_ed25519_key . Tuttavia, la libreria utilizzata da paramiko può generarlo: link

Ho anche notato che la firma per ecdsa.generate è:

 classmethod generate(curve=<cryptography.hazmat.primitives.asymmetric.ec.SECP256R1 object>, progress_func=None, bits=None)

È <cryptography.hazmat.primitives.asymmetric.ec.SECP256R1 object> una classe che può generare ssh_host_ed25519_key ?

Te lo chiedo perché non volevo utilizzare cryptography.hazmat direttamente a causa di questo consiglio:

Danger

This is a “Hazardous Materials” module. You should ONLY use it if you’re 100% absolutely sure that you know what you’re doing because this module is full of land mines, dragons, and dinosaurs with laser guns.

    
posta Lucas Zanella 09.09.2017 - 00:19
fonte

1 risposta

1

cryptography.hazmat.primitives.asymmetric.ec.SECP256R1 fa ECDSA su SECP256R1 (RFC 5480). ssh_host_ed25519_key è basato su Bernveins's Curve25519. Sono curve diverse, quindi i tasti sono incompatibili. Puoi provare a inserire la curva alternativa nella funzione di generazione, ma dovresti anche tenere presente che non hai avere per avere ogni tipo di chiave - ti dà solo più flessibilità.

    
risposta data 09.09.2017 - 03:33
fonte

Leggi altre domande sui tag