Ok, adesso che sono sveglia... Da quasi un anno uso una smartcard OpenPGP con le tre sottochiavi della mia chiave GPG per firma, crittografia e autenticazione (quindi appunto ssh). On 2016-09-14 at 20:50:26 +0000, Lorenzo Lobba wrote: > Voi tutti conoscete gpg e ssh. [...] > Ma le chiavi generate da ssh e quelle da gpg non sono compatibili. > [...] > Sarebbe bello che gpg generasse una chiave pubblica compatibile con ssh e > anche gpg permette di autenticare le sessioni. > In questo modo la chiave pubblica compatibile con ssh non sarebbe altro che > una sotto chiave (sub key) legata alla propria chiave privata gpg. In realtà questo è possibile: gpg può generare una sottochiave con capacità di autenticazione, basta selezionare la modalità expert; a quel punto gpg-agent può essere configurato per fornire supporto ssh, lo si può tenere attivo al posto di ssh-agent e fa lui il lavoro di entrambi. Le istruzioni per farlo con gnupg 2.1 sono su: https://incenp.org/notes/2015/gnupg-for-ssh-authentication.html (unica differenza: noto che la mia chiave non è in sshcontrol, ma funziona comunque; non so se il fatto che sia salvata su smartcard influenzi la cosa) Mi manca ancora un passaggio che è: una persona che scarichi la mia chiave pubblica GPG ha tutti i dati per potermi dare accesso a server (o altri servizi identificati con chiave ssh), ma non ho ancora trovato in che modo estrarli nel formato richiesto dentro a .ssh/authorized_keys Ovviamente è sempre possibile fare "come facevano gli antichi", usare ssh-add -L sul mio computer, ottenere quella stringa ed inviarla al destinatario in una mail firmata. > Ho trovato monkeysphere che permette di fare quanto spiagato sopra. > > monkeysphere permette di convertire una sotto chiave gpg in una chiave > pubblica ssh. > L'ho provato e funziona. Ho guardato monkeysphere tempo fa, ma non l'ho mai usato effettivamente: mi sembra però che il loro obiettivo primario non siano le chiavi degli utenti ma quelle dei server: ovvero usare la Web of Trust di GPG come strumento per la validazione delle chiavi sia TLS/SSL che SSH (in questo caso, per evitare di dover controllare i fingerprint tramite altro canale). In teoria è una cosa interessante e non c'è niente di tecnico che lo impedisca, ma non mi risulta che sia particolarmente usato, il che lo rende molto meno utile, anche se soprattutto dal lato ssl. Dal lato ssh di solito il problema è meno pressante, perché di solito un canale per distribuire i fingerprint dei server c'è (una pagina sotto https o una mail firmata, a seconda dei casi) e la verifica è una scocciatura che però va fatta una volta soltanto. Dei loro progetti trovo interessante monkeysign, che usa dei QR-code per trasferire il fingerprint della chiave gpg, da usare in occasione dei signing parties (però anche questo ha dei problemi: il foglietto con fingerprint leggibile da umani è scomodo da confrontare, ma lo si può sempre fare, sostituire dei foglietti con un qr-code ha più probabilità di passare inosservato). -- Elena ``of Valhalla''
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ Talking mailing list Talking@ml.linuxvar.it http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking