Formato chiave pubblica SSH


11

Ho una chiave pubblica nel formato:

---- BEGIN SSH2 PUBLIC KEY ----

Comment: "somename-20060227"
AAAAB3NzaC1yc2EAAAABJQAAAIBmhLUTJiP[and so on]==

---- END SSH2 PUBLIC KEY ----

Di solito vedo le chiavi nel formato in questo modo:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAqof[and so on]

Posso semplicemente copiare la prima chiave nel file authorized_keys o devo modificarla in qualche modo in modo che assomigli alla seconda? Penso che il primo sia stato generato da PUTTYgen mentre il secondo sia stato generato da ssh-keygen.

Risposte:


16

utilizzare ssh-keygen -iper convertire il formato compatibile con SSH2 in formato compatibile con OpenSSH.

da man ssh-keygen:

-i Questa opzione legge un file di chiave privata (o pubblica) non crittografato in formato compatibile con SSH2 e stampa una chiave privata (o pubblica) compatibile con OpenSSH su stdout. ssh-keygen legge anche il formato file della chiave pubblica SSH RFC 4716. Questa opzione consente di importare chiavi da diverse implementazioni SSH commerciali.


4

Devi convertire la chiave pubblica in convenzione openssh:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBmhLUTJiP[and so on]== somename-20060227

Assicurarsi inoltre che la chiave occupi esattamente una riga e che non siano state introdotte interruzioni di riga durante la copia.


4

Questa è la risposta completa e corretta:

ssh-keygen -i -m PKCS8 -f public-key.pem


1
"RFC4716" è il key_format predefinito e -m sembra essere per specificare il formato di INPUT in questa istanza, non l'output, quindi hai ragione.
JimNim,

Tecnicamente la risposta "corretta" di alexus NON è sbagliata, dato che quella risposta non indica la sintassi completa, ma indica solo quale flag primario dovrebbe essere usato, lasciando la necessità di controllare -i sintassi / utilizzo nella pagina man.
JimNim,

2

Riscrivi la chiave nel formato adatto a authorized_keys:

keytype keybody nome chiave

Tieni presente che "==" finali sono segnaposto necessari per mantenere la lunghezza della chiave uguale alla lunghezza desiderata.


4
I "==" finali sono imbottitura Base64
Andrew

come faccio a sapere se è RSA o DSA?
Hans,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.