Posso utilizzare i tasti generati dalla chiave integrata sulla scheda HSPD-12 come chiavi openssh? Se sì, come?
Il punto della smartcard è che non è possibile estrarre la chiave privata per la coppia di chiavi generata ma che la chiave pubblica è generalmente accessibile.
Per * nix devi installare i toel di opensc (github.com/OpenSC). Su ubuntu:
$ sudo apt-get install opensc
$ sudo apt-get install opensc-pkcs11
I pacchetti aggiuntivi che potresti trovare utili includono OpenSSL (per engine-pkcs11.so installato sopra ma non richiesto per questo processo).
Torna alla domanda principale che coinvolge ssh e smartcard:
Prendendo ssh come esempio, una chiave RSA di 2048 byte generata sulla scheda, è necessario inserire la chiave pubblica negli host remoti. Quindi, quando esegui l'ssh sugli host remoti dal desktop (sul desktop: lettore di smart card con smart card inserita) ti verrà richiesto di inserire il tuo pin per sbloccare la scheda.
Estrai la chiave pubblica
Nel mio test HSPD-12 / PIV il primo slot chiave è la chiave di autenticazione e il secondo è la chiave di firma. Userò gli strumenti opensc per estrarre la chiave pubblica.
# note: use 'lsusb' to see if you can see your card reader, if not fix it.
$ pkcs15-tool --read-certificate 2 --out my_key.pub
Sugli host remoti inserisci i contenuti di my_key.pub nel tuo file ~ / .ssh / authorized_keys2 nello stesso modo in cui aggiungi altre chiavi pubbliche.
Esempio di Openssh:
$ ssh -I /usr/lib/opensc-pkcs11.so martin@remotehost
Enter PIN for 'MARTIN PALJAK (PIN1)':
martin@remotehost:~$
Quanto sopra è stato preso dal wiki del progetto OpenSC: link
uDude